Class: ConfigCore::Scope

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Scope

Returns a new instance of Scope.



5
6
7
8
# File 'lib/config_core/scope.rb', line 5

def initialize(name)
  @name = name
  @parameters = {}
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



3
4
5
# File 'lib/config_core/scope.rb', line 3

def name
  @name
end

Instance Method Details

#define(name, value, editable: true) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/config_core/scope.rb', line 18

def define(name, value, editable: true)
  raise ParameterAlreadyExistsError if has_parameter?(name)

  parameter = Parameter.new(name, value)
  parameter.disable_editing! unless editable

  @parameters[name] = parameter

  define_parameter_reader(name, parameter)
  define_parameter_value_reader(name, parameter)
  define_parameter_value_writer(name, parameter)

  return parameter
end

#empty?Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/config_core/scope.rb', line 10

def empty?
  @parameters.empty?
end

#has_parameter?(name) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/config_core/scope.rb', line 14

def has_parameter?(name)
  @parameters.has_key?(name)
end