Class: ObjectDeepDiff::ObjectValue

Inherits:
Object
  • Object
show all
Defined in:
lib/object_deep_diff/object_hash.rb

Instance Method Summary collapse

Constructor Details

#initialize(object) ⇒ ObjectValue

Returns a new instance of ObjectValue.



4
5
6
# File 'lib/object_deep_diff/object_hash.rb', line 4

def initialize(object)
  @object = object
end

Instance Method Details

#call(name, &block) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/object_deep_diff/object_hash.rb', line 8

def call(name, &block)
  prop_value = @object.public_send(name)
  if (prop_value.respond_to? :map)
    prop_value.map { |item| ObjectHash.new(item).call(&block) }
  else
    if block_given?
      return nil if prop_value.nil?
      ObjectHash.new(prop_value).call(&block)
    else
      prop_value
    end
  end
end