Module: ValueObject::ClassMethods

Defined in:
lib/value_object.rb

Instance Method Summary collapse

Instance Method Details

#field_namesObject



89
90
91
# File 'lib/value_object.rb', line 89

def field_names
  @field_names
end

#fields(*names) ⇒ Object

Raises:



97
98
99
100
101
102
# File 'lib/value_object.rb', line 97

def fields(*names)
  raise NotDeclaredFields.new if names.empty?

  attr_reader(*names)
  @field_names = names
end

#invariants(*predicate_symbols) ⇒ Object



104
105
106
# File 'lib/value_object.rb', line 104

def invariants(*predicate_symbols)
  @predicate_symbols = predicate_symbols
end

#predicate_symbolsObject



93
94
95
# File 'lib/value_object.rb', line 93

def predicate_symbols
  @predicate_symbols
end