module Taxon::Guard

Public Instance Methods

any_record?(data) click to toggle source
# File lib/taxon/guard.rb, line 29
def any_record?(data)
  data.is_a?(Hash) && data.keys.all?{|i| record_key?(i)}
end
predicate?(rec, meth) click to toggle source
# File lib/taxon/guard.rb, line 5
def predicate?(rec, meth)
  meth.is_a?(Symbol) && rec.respond_to?(meth)
end
predicates?(rec, meths) click to toggle source
# File lib/taxon/guard.rb, line 9
def predicates?(rec, meths)
  meths.is_a?(Array) && meths.all?{|m| predicate?(rec, m)}
end
record_key?(data) click to toggle source
# File lib/taxon/guard.rb, line 17
def record_key?(data)
  data.is_a?(Symbol) || data.is_a?(String)
end
record_keys?(data) click to toggle source
# File lib/taxon/guard.rb, line 21
def record_keys?(data)
  data.is_a?(Array) && data.all?{|i| record_key?(i)}
end
record_target?(rec, data) click to toggle source
# File lib/taxon/guard.rb, line 25
def record_target?(rec, data)
  any_record?(data) && Guard.predicates?(rec, data.values)
end
varying_predicates?(rec, meths) click to toggle source
# File lib/taxon/guard.rb, line 13
def varying_predicates?(rec, meths)
  predicate?(rec, meths) || predicates?(rec, meths)
end