Class: JsonDeepCompare::NodeComparison::Difference

Inherits:
Object
  • Object
show all
Defined in:
lib/json-deep-compare/node_comparison.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(selector, msg_template, variables) ⇒ Difference

Returns a new instance of Difference.



177
178
179
180
# File 'lib/json-deep-compare/node_comparison.rb', line 177

def initialize(selector, msg_template, variables)
  @selector, @msg_template, @variables = 
    selector, msg_template, variables
end

Instance Attribute Details

#selectorObject (readonly)

Returns the value of attribute selector.



175
176
177
# File 'lib/json-deep-compare/node_comparison.rb', line 175

def selector
  @selector
end

Instance Method Details

#messageObject



182
183
184
185
186
187
188
# File 'lib/json-deep-compare/node_comparison.rb', line 182

def message
  msg = @msg_template
  @variables.each do |name, value|
    msg = msg.gsub(/#{name.inspect}/, value)
  end
  "#{@selector.inspect} #{msg}"
end

#reverseObject



190
191
192
193
194
195
196
# File 'lib/json-deep-compare/node_comparison.rb', line 190

def reverse
  reversed_variables = {lval: @variables[:rval], rval: @variables[:lval]}
  (@variables.keys - [:lval, :rval]).each do |other_var|
    reversed_variables[other_var] = @variables[other_var]
  end
  Difference.new(@selector, @msg_template, reversed_variables)
end