Class: CabezaDeTermo::JsonSpec::ModifiersDefinitionBuilder
- Inherits:
-
Object
- Object
- CabezaDeTermo::JsonSpec::ModifiersDefinitionBuilder
show all
- Defined in:
- lib/cabeza-de-termo/json-spec/expectations-library/definition-builders/modifier-builders/modifiers-definition-builder.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of ModifiersDefinitionBuilder.
11
12
13
14
15
|
# File 'lib/cabeza-de-termo/json-spec/expectations-library/definition-builders/modifier-builders/modifiers-definition-builder.rb', line 11
def initialize(expectations_library, &block)
@expectations_library = expectations_library
CdT.bind_block_evaluation_to self, &block
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name, *args, &block) ⇒ Object
Delegate every method to the current definition builder
68
69
70
|
# File 'lib/cabeza-de-termo/json-spec/expectations-library/definition-builders/modifier-builders/modifiers-definition-builder.rb', line 68
def method_missing(method_name, *args, &block)
@definition.send(method_name, *args, &block)
end
|
Class Method Details
.for(expectations_library, &block) ⇒ Object
7
8
9
|
# File 'lib/cabeza-de-termo/json-spec/expectations-library/definition-builders/modifier-builders/modifiers-definition-builder.rb', line 7
def self.for(expectations_library, &block)
new(expectations_library, &block)
end
|
Instance Method Details
#composing(modifier) ⇒ Object
52
53
54
55
|
# File 'lib/cabeza-de-termo/json-spec/expectations-library/definition-builders/modifier-builders/modifiers-definition-builder.rb', line 52
def composing(modifier)
@definition = ComposingModifiersDefinition.new(expectations_library)
@definition.with modifier
end
|
#define(method_name, &block) ⇒ Object
38
39
40
41
42
43
44
45
|
# File 'lib/cabeza-de-termo/json-spec/expectations-library/definition-builders/modifier-builders/modifiers-definition-builder.rb', line 38
def define(method_name, &block)
@method_name = method_name.to_sym
block.call
define_modifier_in_library
reset_current_definition
end
|
#define_modifier_in_library ⇒ Object
57
58
59
|
# File 'lib/cabeza-de-termo/json-spec/expectations-library/definition-builders/modifier-builders/modifiers-definition-builder.rb', line 57
def define_modifier_in_library
expectations_library.define_modifier(method_name, modifier_instantiator)
end
|
#definition ⇒ Object
27
28
29
|
# File 'lib/cabeza-de-termo/json-spec/expectations-library/definition-builders/modifier-builders/modifiers-definition-builder.rb', line 27
def definition
@definition
end
|
#expectations_library ⇒ Object
19
20
21
|
# File 'lib/cabeza-de-termo/json-spec/expectations-library/definition-builders/modifier-builders/modifiers-definition-builder.rb', line 19
def expectations_library
@expectations_library
end
|
#method_name ⇒ Object
23
24
25
|
# File 'lib/cabeza-de-termo/json-spec/expectations-library/definition-builders/modifier-builders/modifiers-definition-builder.rb', line 23
def method_name
@method_name
end
|
#modifier_instantiator ⇒ Object
61
62
63
|
# File 'lib/cabeza-de-termo/json-spec/expectations-library/definition-builders/modifier-builders/modifiers-definition-builder.rb', line 61
def modifier_instantiator
definition.modifier_instantiator
end
|
#reset_current_definition ⇒ Object
33
34
35
36
|
# File 'lib/cabeza-de-termo/json-spec/expectations-library/definition-builders/modifier-builders/modifiers-definition-builder.rb', line 33
def reset_current_definition
@method_name = nil
@definition = nil
end
|
#with_class(klass) ⇒ Object
47
48
49
50
|
# File 'lib/cabeza-de-termo/json-spec/expectations-library/definition-builders/modifier-builders/modifiers-definition-builder.rb', line 47
def with_class(klass)
@definition = ClassModifierDefinition.new(expectations_library)
@definition.klass klass
end
|