Class: EasyConfig::ConfigFile

Inherits:
Object
  • Object
show all
Defined in:
lib/easy_config/config_file.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path) ⇒ ConfigFile

Returns a new instance of ConfigFile.



4
5
6
7
# File 'lib/easy_config/config_file.rb', line 4

def initialize(path)
  @path = path
  @name = File.basename(path, '.*').to_sym
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



2
3
4
# File 'lib/easy_config/config_file.rb', line 2

def name
  @name
end

Class Method Details

.allObject



28
29
30
# File 'lib/easy_config/config_file.rb', line 28

def all
  @all ||= load_all
end

.reset!Object



32
33
34
# File 'lib/easy_config/config_file.rb', line 32

def reset!
  @all = nil
end

Instance Method Details

#configurationObject



9
10
11
# File 'lib/easy_config/config_file.rb', line 9

def configuration
  @configuration ||= create_configuration
end

#create_configurationObject



13
14
15
16
17
18
19
# File 'lib/easy_config/config_file.rb', line 13

def create_configuration
  yaml = yaml_data

  yaml = yaml[EasyConfig::Env.current] if EasyConfig::Env.has_environment?(yaml)

  EasyConfig::Configuration.new(yaml)
end

#yaml_dataObject



21
22
23
24
25
# File 'lib/easy_config/config_file.rb', line 21

def yaml_data
  input = File.read(@path)
  eruby = ERB.new(input)
  YAML.load(eruby.result)
end