class SuperDiff::RSpec::ObjectInspection::InspectionTreeBuilders::Double
Public Class Methods
applies_to?(value)
click to toggle source
# File lib/super_diff/rspec/object_inspection/inspection_tree_builders/double.rb, line 6 def self.applies_to?(value) value.is_a?(::RSpec::Mocks::Double) end
Public Instance Methods
call()
click to toggle source
# File lib/super_diff/rspec/object_inspection/inspection_tree_builders/double.rb, line 10 def call builder = self empty = -> { empty? } nonempty = -> { !empty? } SuperDiff::ObjectInspection::InspectionTree.new do only_when empty do as_lines_when_rendering_to_lines do add_text do |object| inspected_class = builder.inspected_class inspected_name = builder.inspected_name "#<#{inspected_class} #{inspected_name}>" end end end only_when nonempty do as_lines_when_rendering_to_lines(collection_bookend: :open) do add_text do |object| inspected_class = builder.inspected_class inspected_name = builder.inspected_name "#<#{inspected_class} #{inspected_name}" end when_rendering_to_lines do add_text " {" end end when_rendering_to_string do add_text " " end nested do |object| insert_hash_inspection_of(builder.doubled_methods) end as_lines_when_rendering_to_lines(collection_bookend: :close) do when_rendering_to_lines do add_text "}" end add_text ">" end end end end
doubled_method_names()
click to toggle source
# File lib/super_diff/rspec/object_inspection/inspection_tree_builders/double.rb, line 93 def doubled_method_names object. __send__(:__mock_proxy). instance_variable_get("@method_doubles"). keys end
doubled_methods()
click to toggle source
# File lib/super_diff/rspec/object_inspection/inspection_tree_builders/double.rb, line 87 def doubled_methods @_doubled_methods ||= doubled_method_names.reduce({}) do |hash, key| hash.merge(key => object.public_send(key)) end end
empty?()
click to toggle source
# File lib/super_diff/rspec/object_inspection/inspection_tree_builders/double.rb, line 58 def empty? doubled_methods.empty? end
inspected_class()
click to toggle source
# File lib/super_diff/rspec/object_inspection/inspection_tree_builders/double.rb, line 66 def inspected_class case object when ::RSpec::Mocks::InstanceVerifyingDouble "InstanceDouble" when ::RSpec::Mocks::ClassVerifyingDouble "ClassDouble" when ::RSpec::Mocks::ObjectVerifyingDouble "ObjectDouble" else "Double" end end
inspected_name()
click to toggle source
# File lib/super_diff/rspec/object_inspection/inspection_tree_builders/double.rb, line 79 def inspected_name if object.instance_variable_get("@name") object.instance_variable_get("@name").inspect else "(anonymous)" end end
nonempty?()
click to toggle source
# File lib/super_diff/rspec/object_inspection/inspection_tree_builders/double.rb, line 62 def nonempty? !empty? end