Sha256: c17c1b2d2de8c05754773590e723dd7fbb283f681ca11fa2befd5abe6c8ce57a
Contents?: true
Size: 1.14 KB
Versions: 2
Compression:
Stored size: 1.14 KB
Contents
module Octospy module Configurable OPTIONS_KEYS = %i( channels server nick github_api_endpoint github_web_endpoint github_login github_token ).freeze attr_accessor(*OPTIONS_KEYS) class << self def keys @keys ||= OPTIONS_KEYS end end DEFAULT_GITHUB_API_ENDPOINT = ENV['GITHUB_API_ENDPOINT'] || 'https://api.github.com' DEFAULT_GITHUB_WEB_ENDPOINT = ENV['GITHUB_WEB_ENDPOINT'] || 'https://github.com' DEFAULT_NICK = ENV['NICK'] || 'octospy' def configure yield self end def options Hash[Octospy::Configurable.keys.map{ |key| [key, instance_variable_get(:"@#{key}")] }] end def setup @github_api_endpoint = DEFAULT_GITHUB_API_ENDPOINT @github_web_endpoint = DEFAULT_GITHUB_WEB_ENDPOINT @nick = DEFAULT_NICK @channels = if ENV['CHANNELS'] ENV['CHANNELS'].gsub(/\s|#/, '').split(',').map { |ch| "##{ch}" } else '' end @server = ENV['SERVER'] @github_login = ENV['GITHUB_LOGIN'] @github_token = ENV['GITHUB_TOKEN'] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
octospy-0.0.2 | lib/octospy/configurable.rb |
octospy-0.0.1 | lib/octospy/configurable.rb |