module ValueObject::DSL
Attributes
all[RW]
Public Instance Methods
find(key)
click to toggle source
# File lib/value_object/dsl.rb, line 3 def find(key) return unless key object = all.find { |v| v.key.to_s.eql?(key.to_s) } object || raise_invalid_value(key) end
Protected Instance Methods
value(*args)
click to toggle source
# File lib/value_object/dsl.rb, line 13 def value(*args) object = new(*args) define_value_getter object @all ||= [] @all << object end
Private Instance Methods
define_value_getter(object)
click to toggle source
# File lib/value_object/dsl.rb, line 23 def define_value_getter(object) define_singleton_method(object.key) { object } end
raise_invalid_value(key)
click to toggle source
# File lib/value_object/dsl.rb, line 27 def raise_invalid_value(key) raise(ValueObject::InvalidValue, "#{self} #{key} not found") end