Module: Goldendocx::HasChildren::ClassMethods
- Defined in:
- lib/goldendocx/has_children.rb
Instance Method Summary collapse
- #default_value(name) ⇒ Object
- #embeds_many(name, class_name:, uniqueness: false) ⇒ Object
- #embeds_one(name, class_name:, auto_build: false) ⇒ Object
Instance Method Details
#default_value(name) ⇒ Object
40 41 42 43 44 45 |
# File 'lib/goldendocx/has_children.rb', line 40 def default_value(name) = children[name] return [] if [:multiple] [:class_name].constantize.new if [:auto_build] end |
#embeds_many(name, class_name:, uniqueness: false) ⇒ Object
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/goldendocx/has_children.rb', line 29 def (name, class_name:, uniqueness: false) warning_naming_suggestion(__method__, name, name.to_s.pluralize) = { class_name:, multiple: true, uniqueness: } self.children = children.merge(name => ) create_children_getter(name) create_children_setter(name) create_children_builder(name) end |
#embeds_one(name, class_name:, auto_build: false) ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/goldendocx/has_children.rb', line 18 def (name, class_name:, auto_build: false) warning_naming_suggestion(__method__, name, name.to_s.singularize) = { class_name:, multiple: false, auto_build: } self.children = children.merge(name => ) create_children_getter(name) create_children_setter(name) create_children_builder(name) end |