Class: ENVied::Configuration

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Configuration



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

def initialize(options = {})
  @defaults_enabled = options.fetch(:enable_defaults, false)
end

Instance Attribute Details

#current_groupObject (readonly)

Returns the value of attribute current_group.



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

def current_group
  @current_group
end

#defaults_enabledObject (readonly)

Returns the value of attribute defaults_enabled.



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

def defaults_enabled
  @defaults_enabled
end

Class Method Details

.loadObject



9
10
11
12
13
# File 'lib/envied/configuration.rb', line 9

def self.load
  new.tap do |v|
    v.instance_eval(File.read(File.expand_path('Envfile')))
  end
end

Instance Method Details

#defaults_enabled?Boolean



19
20
21
22
23
# File 'lib/envied/configuration.rb', line 19

def defaults_enabled?
  @defaults_enabled.respond_to?(:call) ?
    @defaults_enabled.call :
    @defaults_enabled
end

#enable_defaults!(value = nil, &block) ⇒ Object



15
16
17
# File 'lib/envied/configuration.rb', line 15

def enable_defaults!(value = nil, &block)
  @defaults_enabled = (value.nil? ? block : value)
end

#group(name, &block) ⇒ Object



30
31
32
33
34
35
# File 'lib/envied/configuration.rb', line 30

def group(name, &block)
  @current_group = name.to_sym
  yield
ensure
  @current_group = nil
end

#variable(name, type = :String, options = {}) ⇒ Object



25
26
27
28
# File 'lib/envied/configuration.rb', line 25

def variable(name, type = :String, options = {})
  options[:group] = current_group if current_group
  variables << ENVied::Variable.new(name, type, options)
end

#variablesObject



37
38
39
# File 'lib/envied/configuration.rb', line 37

def variables
  @variables ||= []
end