Class: Feedbook::Notifiers::TwitterNotifier

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/feedbook/notifiers/twitter_notifier.rb

Instance Method Summary collapse

Instance Method Details

#load_configuration(configuration = {}) ⇒ NilClass

Load configuration for TwitterNotifier

Raises:



32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/feedbook/notifiers/twitter_notifier.rb', line 32

def load_configuration(configuration = {})
  @client = Twitter::REST::Client.new do |config|
    config.consumer_key        = configuration.fetch('consumer_key')
    config.consumer_secret     = configuration.fetch('consumer_secret')
    config.access_token        = configuration.fetch('access_token')
    config.access_token_secret = configuration.fetch('access_token_secret')
  end

  puts 'Configuration loaded for TwitterNotifier'
rescue Twitter::Error => e
  raise Errors::NotifierConfigurationError.new(:twitter, e.message)
end

#notify(message) ⇒ NilClass

Sends notification to Twitter

Raises:



16
17
18
19
20
21
22
23
24
25
# File 'lib/feedbook/notifiers/twitter_notifier.rb', line 16

def notify(message)
  if client.nil?
    puts "Message has not been notified on Twitter: #{message} because of invalid client configuration"
  else
    client.update(message)
    puts "New message has been notified on Twitter: #{message}"
  end
rescue Twitter::Error => e
  raise Errors::NotifierNotifyError.new(:twitter, e.message)
end