Class: Retrobot::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/retrobot/config.rb

Constant Summary collapse

KEYS =
i(
  tweets_csv
  consumer_key
  consumer_secret
  access_token
  access_secret
  retro_days
  retweet
  debug
  dryrun
  loop_interval
  retry_interval
  retry_count
  add_in_reply_to_url
  suppress_pattern
  remove_hashtag
  dying_mention_to
)
DEFAULTS =
{
  tweets_csv: './tweets/tweets.csv',
  retro_days: 365,
  retweet: false,
  debug: false,
  dryrun: false,
  loop_interval: 3,
  retry_interval: 3,
  retry_count: 5,
  add_in_reply_to_url: false,
  suppress_pattern: nil,
  remove_hashtag: false,
  dying_mention_to: nil,
}

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Config

Returns a new instance of Config.



41
42
43
# File 'lib/retrobot/config.rb', line 41

def initialize(options={})
  @options = DEFAULTS.merge(options.symbolize_keys)
end

Instance Method Details

#dying_mention_toObject



65
66
67
68
69
70
# File 'lib/retrobot/config.rb', line 65

def dying_mention_to
  return nil unless @options[:dying_mention_to]
  # add mention mark (atmark)
  @options[:dying_mention_to].start_with?('@') ?
    @options[:dying_mention_to] : "@" + @options[:dying_mention_to]
end

#load_yaml_file!(path) ⇒ Object



72
73
74
# File 'lib/retrobot/config.rb', line 72

def load_yaml_file!(path)
  @options.merge! Psych.load_file(path.to_s).symbolize_keys
end

#loop_intervalObject



61
# File 'lib/retrobot/config.rb', line 61

def loop_interval;  @options[:loop_interval].to_i; end

#merge!(hash) ⇒ Object



45
46
47
# File 'lib/retrobot/config.rb', line 45

def merge!(hash)
  @options.merge!(hash)
end

#retro_daysObject



53
54
55
# File 'lib/retrobot/config.rb', line 53

def retro_days
  @options[:retro_days].to_i.days
end

#retry_countObject



63
# File 'lib/retrobot/config.rb', line 63

def retry_count;    @options[:retry_count].to_i; end

#retry_intervalObject



62
# File 'lib/retrobot/config.rb', line 62

def retry_interval; @options[:retry_interval].to_i; end

#tweets_csvObject



57
58
59
# File 'lib/retrobot/config.rb', line 57

def tweets_csv
  Pathname.new(@options[:tweets_csv])
end