Class: Literal::Attributable::Generators::StructInitializer
- Inherits:
-
Initializer
- Object
- Base
- Initializer
- Literal::Attributable::Generators::StructInitializer
show all
- Defined in:
- lib/literal/attributable/generators/struct_initializer.rb
Instance Attribute Summary
Attributes included from Nodes
#nodes
Instance Method Summary
collapse
Methods inherited from Initializer
#assign_default, #assign_schema, #check_type, #coerce_attribute, #escape_keyword, #handle_attributes, #initialize, #initializer_callback, #params, #template
Methods inherited from Base
#call
Methods included from Nodes
node
Instance Method Details
#assign_value(attribute) ⇒ Object
23
24
25
26
27
28
29
30
31
|
# File 'lib/literal/attributable/generators/struct_initializer.rb', line 23
def assign_value(attribute)
Assignment.new(
left: Access.new(
collection: Ref.new("@attributes"),
key: Symbol.new(attribute.name)
),
right: Ref.new(attribute.escaped)
)
end
|
#body ⇒ Object
7
8
9
10
11
12
13
14
|
# File 'lib/literal/attributable/generators/struct_initializer.rb', line 7
def body
[
assign_schema,
init_attributes_ivar,
handle_attributes,
initializer_callback
]
end
|
#init_attributes_ivar ⇒ Object
16
17
18
19
20
21
|
# File 'lib/literal/attributable/generators/struct_initializer.rb', line 16
def init_attributes_ivar
Assignment.new(
left: Ref.new("@attributes"),
right: Ref.new("{}")
)
end
|