Class: ArrayFu::ArrayDefinition
- Inherits:
-
Object
- Object
- ArrayFu::ArrayDefinition
show all
- Includes:
- Initializer
- Defined in:
- lib/arrayfu/array_definition.rb
Defined Under Namespace
Modules: NoFailure
Instance Attribute Summary collapse
Instance Method Summary
collapse
#initialize_arrays, #initialize_defaults, #initialize_false, #initialize_hashes
Constructor Details
Returns a new instance of ArrayDefinition.
12
13
14
15
16
|
# File 'lib/arrayfu/array_definition.rb', line 12
def initialize(name)
@name = name
initialize_arrays :mutators, :visitors, :constraints
initialize_false :writable, :readable
end
|
Instance Attribute Details
#constraints ⇒ Object
Returns the value of attribute constraints.
10
11
12
|
# File 'lib/arrayfu/array_definition.rb', line 10
def constraints
@constraints
end
|
#mutators ⇒ Object
Returns the value of attribute mutators.
8
9
10
|
# File 'lib/arrayfu/array_definition.rb', line 8
def mutators
@mutators
end
|
#name ⇒ Object
Returns the value of attribute name.
5
6
7
|
# File 'lib/arrayfu/array_definition.rb', line 5
def name
@name
end
|
#readable ⇒ Object
Returns the value of attribute readable.
7
8
9
|
# File 'lib/arrayfu/array_definition.rb', line 7
def readable
@readable
end
|
#visitors ⇒ Object
Returns the value of attribute visitors.
9
10
11
|
# File 'lib/arrayfu/array_definition.rb', line 9
def visitors
@visitors
end
|
#writable ⇒ Object
Returns the value of attribute writable.
6
7
8
|
# File 'lib/arrayfu/array_definition.rb', line 6
def writable
@writable
end
|
Instance Method Details
#addition_constraint(constraint, fail_option = NoFailure) ⇒ Object
Also known as:
new_item_must
71
72
73
|
# File 'lib/arrayfu/array_definition.rb', line 71
def addition_constraint(constraint, fail_option = NoFailure)
self.constraints.push(ItemConstraint.new(constraint, fail_option))
end
|
39
40
41
42
43
44
|
# File 'lib/arrayfu/array_definition.rb', line 39
def configure_using(*configurators)
configurators.each do|configurator|
method = configurator.respond_to?(:configure) ? :configure : 'call'.to_sym
configurator.send(method, self)
end
end
|
#each_constraint(&block) ⇒ Object
63
64
65
|
# File 'lib/arrayfu/array_definition.rb', line 63
def each_constraint(&block)
constraints.each &block
end
|
#each_mutator(&block) ⇒ Object
59
60
61
|
# File 'lib/arrayfu/array_definition.rb', line 59
def each_mutator(&block)
mutators.each &block
end
|
#each_visitor(&block) ⇒ Object
67
68
69
|
# File 'lib/arrayfu/array_definition.rb', line 67
def each_visitor(&block)
visitors.each &block
end
|
#mutator(*names, &block) ⇒ Object
46
47
48
49
50
|
# File 'lib/arrayfu/array_definition.rb', line 46
def mutator(*names, &block)
names.each do |mutator_name|
self.mutators.push(MutatorDefinition.new(mutator_name, block))
end
end
|
#process_using(name, visitor) ⇒ Object
76
77
78
|
# File 'lib/arrayfu/array_definition.rb', line 76
def process_using(name,visitor)
self.visitors.push(VisitorDefinition.new(name, visitor))
end
|
#read_and_write ⇒ Object
18
19
20
21
|
# File 'lib/arrayfu/array_definition.rb', line 18
def read_and_write
writable
readable
end
|
#readable? ⇒ Boolean
35
36
37
|
# File 'lib/arrayfu/array_definition.rb', line 35
def readable?
@readable ||= false
end
|
#variable_name ⇒ Object
80
81
82
|
# File 'lib/arrayfu/array_definition.rb', line 80
def variable_name
"@#{@name}"
end
|
#writable? ⇒ Boolean
31
32
33
|
# File 'lib/arrayfu/array_definition.rb', line 31
def writable?
@writable ||= false
end
|