module Arisaid::Configurable

Constants

OPTIONS_KEYS

Public Class Methods

extended(base) click to toggle source
# File lib/arisaid/configurable.rb, line 18
def self.extended(base)
  base.reset
end

Public Instance Methods

ask_slack_team() click to toggle source
# File lib/arisaid/configurable.rb, line 58
def ask_slack_team
  $stdout.print 'Slack Team: '
  $stdin.gets.gsub(/\n/, '')
end
ask_slack_token() click to toggle source
# File lib/arisaid/configurable.rb, line 78
def ask_slack_token
  $stdout.print 'Slack Token(https://api.slack.com/web): '
  $stdin.noecho(&:gets).tap{ $stdout.print "\n" }.gsub(/\n/, '')
end
configure() { |self| ... } click to toggle source
# File lib/arisaid/configurable.rb, line 34
def configure
  yield self
end
debug?() click to toggle source
# File lib/arisaid/configurable.rb, line 38
def debug?
  @debug ||= false
end
options() click to toggle source
# File lib/arisaid/configurable.rb, line 30
def options
  OPTIONS_KEYS.inject({}) { |o, k| o.merge!(k => send(k)) }
end
pit() click to toggle source
# File lib/arisaid/configurable.rb, line 91
def pit
  Pit.get('arisaid')
end
pit=(data) click to toggle source
# File lib/arisaid/configurable.rb, line 95
def pit=(data)
  Pit.set('arisaid', data: data)
end
read_only?() click to toggle source
# File lib/arisaid/configurable.rb, line 42
def read_only?
  @read_only ||= false
end
reset() click to toggle source
# File lib/arisaid/configurable.rb, line 22
def reset
  self.debug       = false
  self.read_only   = true
  self.save_token  = false
  self.conf_prefix = nil
  self.exit_status = 0
end
save_slack_token_by_pit(token) click to toggle source
# File lib/arisaid/configurable.rb, line 83
def save_slack_token_by_pit(token)
  self.pit= if pit.is_a?(Hash)
      pit.merge(slack_team => token)
    else
      { slack_team => token }
    end
end
save_token?() click to toggle source
# File lib/arisaid/configurable.rb, line 46
def save_token?
  @save_token ||= false
end
slack_team() click to toggle source
# File lib/arisaid/configurable.rb, line 50
def slack_team
  ENV['BREACAN_TEAM'] ||= ask_slack_team
end
slack_team=(team) click to toggle source
# File lib/arisaid/configurable.rb, line 54
def slack_team=(team)
  ENV['BREACAN_TEAM'] = team
end
slack_token() click to toggle source
# File lib/arisaid/configurable.rb, line 63
def slack_token
  ENV['BREACAN_ACCESS_TOKEN'] ||= slack_token!
end
slack_token!() click to toggle source
# File lib/arisaid/configurable.rb, line 67
def slack_token!
  token = slack_token_by_pit

  if token.nil?
    token = ask_slack_token
    save_slack_token_by_pit(token) if save_token?
  end

  token
end
slack_token_by_pit() click to toggle source
# File lib/arisaid/configurable.rb, line 99
def slack_token_by_pit
  pit[slack_team]
end