class Akane::Receivers::AbstractReceiver
Public Class Methods
new(consumer: raise(ArgumentError, 'missing consumer'), account: raise(ArgumentError, 'missing account'), logger: Logger.new($stdout), name: nil, config: {})
click to toggle source
# File lib/akane/receivers/abstract_receiver.rb, line 4 def initialize(consumer: raise(ArgumentError, 'missing consumer'), account: raise(ArgumentError, 'missing account'), logger: Logger.new($stdout), name: nil, config: {}) @consumer = consumer @account = account @logger = logger @config = config @hooks = {} end
Public Instance Methods
name()
click to toggle source
# File lib/akane/receivers/abstract_receiver.rb, line 17 def name @name ||= @config['name'] || "#{cname}:#{@account[:name]}" end
on(kind, &block)
click to toggle source
# File lib/akane/receivers/abstract_receiver.rb, line 33 def on(kind, &block) (@hooks[kind] ||= []) << block self end
on_delete(&block)
click to toggle source
# File lib/akane/receivers/abstract_receiver.rb, line 39 def on_delete(&block) on(:delete, &block) end
on_event(&block)
click to toggle source
# File lib/akane/receivers/abstract_receiver.rb, line 41 def on_event(&block) on(:event, &block) end
on_message(&block)
click to toggle source
# File lib/akane/receivers/abstract_receiver.rb, line 40 def on_message(&block) on(:message, &block) end
on_tweet(&block)
click to toggle source
# File lib/akane/receivers/abstract_receiver.rb, line 38 def on_tweet(&block) on(:tweet, &block) end
running?()
click to toggle source
# File lib/akane/receivers/abstract_receiver.rb, line 29 def running? raise NotImplementedError end
start()
click to toggle source
# File lib/akane/receivers/abstract_receiver.rb, line 21 def start raise NotImplementedError end
stop()
click to toggle source
# File lib/akane/receivers/abstract_receiver.rb, line 25 def stop raise NotImplementedError end
Private Instance Methods
cname()
click to toggle source
# File lib/akane/receivers/abstract_receiver.rb, line 45 def cname @cname = self.class.name.split(/::/).last end
invoke(kind, *args)
click to toggle source
# File lib/akane/receivers/abstract_receiver.rb, line 49 def invoke(kind, *args) return unless @hooks[kind] @hooks[kind].each { |hook| hook.call(*args) } self end