Class: Literal::Attributable::Generators::DataInitializer
Instance Attribute Summary
Attributes included from Nodes
#nodes
Instance Method Summary
collapse
#init_attributes_ivar
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
21
22
23
24
25
26
27
28
29
|
# File 'lib/literal/attributable/generators/data_initializer.rb', line 21
def assign_value(attribute)
Assignment.new(
left: Access.new(
collection: Ref.new("@attributes"),
key: Symbol.new(attribute.name)
),
right: Ref.new("#{attribute.escaped}.frozen? ? #{attribute.escaped} : #{attribute.escaped}.freeze")
)
end
|
#body ⇒ Object
7
8
9
10
11
12
13
14
15
|
# File 'lib/literal/attributable/generators/data_initializer.rb', line 7
def body
[
assign_schema,
init_attributes_ivar,
handle_attributes,
initializer_callback,
freeze_object
]
end
|
#freeze_object ⇒ Object
17
18
19
|
# File 'lib/literal/attributable/generators/data_initializer.rb', line 17
def freeze_object
Ref.new("freeze")
end
|