Class: AudioSwitch::Pactl::Out

Inherits:
Object
  • Object
show all
Defined in:
lib/audio_switch/pactl.rb

Instance Method Summary collapse

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_eventObject



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