Class: Feedbook::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/feedbook/configuration.rb

Constant Summary collapse

INTERVAL_FORMAT =
/\A(\d+)(s|m|h|d)\z/

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ NilClass

Initializes new Configuration object with configuration for program instance

Parameters:

  • opts (defaults to: {})

    {} [Hash] Hash with configuration of interval and suppliers



14
15
16
17
18
19
20
# File 'lib/feedbook/configuration.rb', line 14

def initialize(opts = {})
  @interval    = Helpers::TimeIntervalParser.parse(opts.fetch(:interval, ''))
  @twitter     = opts.fetch(:twitter,  nil)
  @facebook    = opts.fetch(:facebook, nil)
  @irc         = opts.fetch(:irc, nil)
  @mail        = opts.fetch(:mail, nil)
end

Instance Attribute Details

#intervalObject (readonly)

Returns the value of attribute interval.



6
7
8
# File 'lib/feedbook/configuration.rb', line 6

def interval
  @interval
end

Instance Method Details

#load_notifiersNilClass

Load notifiers configuration

Returns:

  • (NilClass)

    nil



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/feedbook/configuration.rb', line 25

def load_notifiers
  unless twitter.nil?
    Notifiers::TwitterNotifier.instance.load_configuration(twitter)
  end
  
  unless facebook.nil?
    Notifiers::FacebookNotifier.instance.load_configuration(facebook)
  end

  unless irc.nil?
    Notifiers::IRCNotifier.instance.load_configuration(irc)
  end

  unless mail.nil?
    Notifiers::MailNotifier.instance.load_configuration(mail)
  end
end