Class: YoutubeDL::Listener

Inherits:
Object
  • Object
show all
Defined in:
lib/youtube_dl/listener.rb

Instance Method Summary collapse

Constructor Details

#initializeListener

Returns a new instance of Listener.



3
4
5
# File 'lib/youtube_dl/listener.rb', line 3

def initialize
  @callbacks = Hash.new { |h, k| h[k] = [] }
end

Instance Method Details

#call(event, state:, line: nil) ⇒ Object



7
8
9
10
11
# File 'lib/youtube_dl/listener.rb', line 7

def call(event, state:, line: nil)
  (@callbacks[event] + @callbacks[:any]).each do |cb|
    cb.call(state: state, line: line)
  end
end

#register(event, &block) ⇒ Object



13
14
15
# File 'lib/youtube_dl/listener.rb', line 13

def register(event, &block)
  @callbacks[event] << block
end