Class: LineChange::Configuration

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

Defined Under Namespace

Classes: App

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Configuration

Returns a new instance of Configuration.



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

def initialize(config)
  @raw_apps = config['apps'] || config[:apps]
  @api_key = config['api_key'] || config[:api_key]
end

Instance Attribute Details

#api_keyObject (readonly)

Returns the value of attribute api_key.



3
4
5
# File 'lib/line_change/configuration.rb', line 3

def api_key
  @api_key
end

Class Method Details

.create_config(config_dir, config_path) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/line_change/configuration.rb', line 18

def self.create_config(config_dir, config_path)
  unless File.exist?(config_dir)
    FileUtils.mkdir_p(config_dir)
  end

  FileUtils.cp("#{__dir__}/templates/line_change.yml", config_path)
end

.exists?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/line_change/configuration.rb', line 14

def self.exists?
  File.exist?(LineChange.config_path)
end

Instance Method Details

#appsObject



10
11
12
# File 'lib/line_change/configuration.rb', line 10

def apps
  @apps ||= Array(@raw_apps).map{|app_name, app_config| App.new(app_name, app_config) }
end