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.



172
173
174
175
# File 'lib/json-deep-compare/node_comparison.rb', line 172

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.



170
171
172
# File 'lib/json-deep-compare/node_comparison.rb', line 170

def selector
  @selector
end

Instance Method Details

#messageObject



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

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

#reverseObject



185
186
187
188
189
190
191
# File 'lib/json-deep-compare/node_comparison.rb', line 185

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