Class: PrLog::Configuration

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

Overview

Configuration options

Constant Summary collapse

CONFIG_FILE_NAMES =
[
  "#{ENV['HOME']}/.pr_log.yml",
  '.pr_log.yml'
].freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.setup(attributes) ⇒ Object



40
41
42
43
44
45
46
47
# File 'lib/pr_log/configuration.rb', line 40

def self.setup(attributes)
  config = new

  config.set_from_files
  config.set(attributes)

  config
end

Instance Method Details

#set(attributes) ⇒ Object



27
28
29
30
31
# File 'lib/pr_log/configuration.rb', line 27

def set(attributes)
  self.attributes = attributes.reject do |_, value|
    value.nil?
  end
end

#set_from_filesObject



33
34
35
36
37
38
# File 'lib/pr_log/configuration.rb', line 33

def set_from_files
  CONFIG_FILE_NAMES.each do |config_file_name|
    next unless File.exist?(config_file_name)
    self.attributes = YAML.load_file(config_file_name)
  end
end