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