class Webmention::Verification::Verifiers::JsonVerifier::DeepLocator
Public Class Methods
new(json, pattern)
click to toggle source
# File lib/webmention/verification/verifiers/json_verifier.rb, line 16 def initialize(json, pattern) @json = json @pattern = pattern end
values_for(object)
click to toggle source
# File lib/webmention/verification/verifiers/json_verifier.rb, line 25 def self.values_for(object) object.is_a?(Hash) ? object.values : object.entries end
Public Instance Methods
results()
click to toggle source
# File lib/webmention/verification/verifiers/json_verifier.rb, line 21 def results @results ||= build_results(comparator, @json) end
Private Instance Methods
build_results(comparator, object, matches = [])
click to toggle source
:reek: TooManyStatements { max_statements: 6 }
# File lib/webmention/verification/verifiers/json_verifier.rb, line 32 def build_results(comparator, object, matches = []) return matches unless object.is_a?(Enumerable) matches << object if object.any? { |_, value| comparator.call(value) } self.class.values_for(object).each { |value| build_results(comparator, value, matches) } matches end
comparator()
click to toggle source
# File lib/webmention/verification/verifiers/json_verifier.rb, line 42 def comparator @comparator ||= ->(value) { value.is_a?(String) && value.match?(@pattern) } end