Module: Basketball::ValueObjectDSL
- Included in:
- ValueObject
- Defined in:
- lib/basketball/value_object_dsl.rb
Overview
Class-level methods that extend core Ruby attr_* methods.
Instance Method Summary collapse
- #all_sorted_value_keys ⇒ Object
- #all_value_keys ⇒ Object
- #value_keys ⇒ Object
- #value_reader(*keys) ⇒ Object
Instance Method Details
#all_sorted_value_keys ⇒ Object
16 17 18 |
# File 'lib/basketball/value_object_dsl.rb', line 16 def all_sorted_value_keys all_value_keys.sort end |
#all_value_keys ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/basketball/value_object_dsl.rb', line 6 def all_value_keys @all_value_keys ||= ancestors.flat_map do |ancestor| if ancestor < Basketball::ValueObject ancestor.value_keys else [] end end.uniq.sort end |
#value_keys ⇒ Object
20 21 22 |
# File 'lib/basketball/value_object_dsl.rb', line 20 def value_keys @value_keys ||= [] end |
#value_reader(*keys) ⇒ Object
24 25 26 27 28 |
# File 'lib/basketball/value_object_dsl.rb', line 24 def value_reader(*keys) keys.each { |k| value_keys << k.to_sym } attr_reader(*keys) end |