class JsonDeepCompare::DocumentComparison::SubstitutionsBuilder::Node
Public Class Methods
new(selector)
click to toggle source
# File lib/json-deep-compare/document_comparison.rb, line 54 def initialize(selector) @selector = selector @sub_nodes = [] end
Public Instance Methods
method_missing(meth, *args) { |sub_node| ... }
click to toggle source
# File lib/json-deep-compare/document_comparison.rb, line 59 def method_missing(meth, *args, &block) if block_given? if args.size == 1 sub_node = Node.new( @selector + " > .#{meth} :nth-child(#{args.first})" ) else sub_node = Node.new(@selector + " > .#{meth}") end yield sub_node elsif args.size == 2 sub_node = Node.new( @selector + " > .#{meth} :nth-child(#{args.first})" ) sub_node.value = args.last else sub_node = Node.new(@selector + " > .#{meth}") sub_node.value = args.first end @sub_nodes << sub_node end
rules()
click to toggle source
# File lib/json-deep-compare/document_comparison.rb, line 81 def rules @sub_nodes.map { |sn| sn.rules }.flatten.concat([@rule]).compact end
value=(v)
click to toggle source
# File lib/json-deep-compare/document_comparison.rb, line 85 def value=(v) @rule = Rule.new(@selector, v) end