Module: ValueObject
- Defined in:
- lib/exceptions.rb,
lib/value_object.rb
Defined Under Namespace
Modules: ClassMethods
Classes: FieldWithoutValue, NotDeclaredFields, NotImplementedInvariant, ViolatedInvariant, WrongNumberOfArguments
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.included(base) ⇒ Object
5
6
7
|
# File 'lib/value_object.rb', line 5
def self.included(base)
base.extend(ClassMethods)
end
|
Instance Method Details
#==(other) ⇒ Object
20
21
22
|
# File 'lib/value_object.rb', line 20
def ==(other)
eql?(other)
end
|
#eql?(other) ⇒ Boolean
16
17
18
|
# File 'lib/value_object.rb', line 16
def eql?(other)
self.class == other.class && values == other.values
end
|
#hash ⇒ Object
24
25
26
|
# File 'lib/value_object.rb', line 24
def hash
self.class.hash ^ values.hash
end
|
#initialize(*values) ⇒ Object
9
10
11
12
13
14
|
# File 'lib/value_object.rb', line 9
def initialize(*values)
@values = values
check_fields_are_initialized
set_instance_variables
check_invariants
end
|