Class: AudioSwitch::Pactl::Out
- Inherits:
-
Object
- Object
- AudioSwitch::Pactl::Out
- Defined in:
- lib/audio_switch/pactl.rb
Instance Method Summary collapse
-
#initialize(string) ⇒ Out
constructor
A new instance of Out.
- #parse_event ⇒ Object
- #parse_objects(fields) ⇒ Object
- #parse_property(marker) ⇒ Object
Constructor Details
#initialize(string) ⇒ Out
Returns a new instance of Out.
113 114 115 |
# File 'lib/audio_switch/pactl.rb', line 113 def initialize(string) @string = string end |
Instance Method Details
#parse_event ⇒ Object
140 141 142 143 144 145 146 147 |
# File 'lib/audio_switch/pactl.rb', line 140 def parse_event parts = @string.split(' ') { type: parts[1].delete('\'').to_sym, object: parts[3].to_sym, id: parts[4].sub('#', '') } end |
#parse_objects(fields) ⇒ Object
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
# File 'lib/audio_switch/pactl.rb', line 117 def parse_objects(fields) objects = [] field_id = 0 object = nil @string.each_line do |line| field = fields[field_id] next unless line =~ Regexp.new(field[:marker]) object = {} if field_id.zero? update(object, line, field) field_id += 1 next unless field_id == fields.size objects << object object = nil field_id = 0 end objects end |
#parse_property(marker) ⇒ Object
149 150 151 |
# File 'lib/audio_switch/pactl.rb', line 149 def parse_property(marker) read_property(@string, marker) end |