Class: BoPeep::Config

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

Direct Known Subclasses

Context

Defined Under Namespace

Classes: VariableSet

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfig

Returns a new instance of Config.



1399
1400
1401
1402
# File 'lib/bopeep.rb', line 1399

def initialize
  @hosts = HostCollection.new
  @variables_sets = Set.new
end

Instance Attribute Details

#default_userObject

Returns the value of attribute default_user.



1394
1395
1396
# File 'lib/bopeep.rb', line 1394

def default_user
  @default_user
end

#hostsObject

Returns the value of attribute hosts.



1395
1396
1397
# File 'lib/bopeep.rb', line 1395

def hosts
  @hosts
end

#on_failure_commandObject

Returns the value of attribute on_failure_command.



1396
1397
1398
# File 'lib/bopeep.rb', line 1396

def on_failure_command
  @on_failure_command
end

#variables_setsObject (readonly)

Returns the value of attribute variables_sets.



1397
1398
1399
# File 'lib/bopeep.rb', line 1397

def variables_sets
  @variables_sets
end

Instance Method Details

#[](name) ⇒ Object



1412
1413
1414
1415
1416
# File 'lib/bopeep.rb', line 1412

def [](name)
  if variables_set_defined?(name.to_s)
    instance_variable_get("@#{name}")
  end
end

#variables(name) {|variables_object| ... } ⇒ Object

Yields:

  • (variables_object)


1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
# File 'lib/bopeep.rb', line 1418

def variables(name)
  variables_name = name.to_s
  ivar_name = "@#{variables_name}"

  if @variables_sets.include?(variables_name)
    variables_object = instance_variable_get(ivar_name)
  else
    @variables_sets << variables_name

    singleton_class.send(:attr_reader, variables_name)
    variables_object = instance_variable_set(ivar_name, VariableSet.new(variables_name, self))
  end

  yield variables_object
end

#variables_set_defined?(name) ⇒ Boolean

Returns:

  • (Boolean)


1408
1409
1410
# File 'lib/bopeep.rb', line 1408

def variables_set_defined?(name)
  @variables_sets.include?(name.to_s)
end