class SuperDiff::OperationTrees::Main
Public Instance Methods
call()
click to toggle source
# File lib/super_diff/operation_trees/main.rb, line 8 def call if resolved_class begin resolved_class.new([], underlying_object: value) rescue ArgumentError resolved_class.new([]) end else raise Errors::NoOperationalSequenceAvailableError.create(value) end end
Private Instance Methods
available_classes()
click to toggle source
# File lib/super_diff/operation_trees/main.rb, line 30 def available_classes SuperDiff.configuration.extra_operation_tree_classes + DEFAULTS end
resolved_class()
click to toggle source
# File lib/super_diff/operation_trees/main.rb, line 22 def resolved_class if value.respond_to?(:attributes_for_super_diff) CustomObject else available_classes.find { |klass| klass.applies_to?(value) } end end