lib/json_logic.rb in json_logic-0.4.0 vs lib/json_logic.rb in json_logic-0.4.1

- old
+ new

@@ -2,10 +2,15 @@ require 'core_ext/stringify_keys' require 'json_logic/truthy' require 'json_logic/operation' module JSONLogic def self.apply(logic, data) + if logic.is_a?(Array) + return logic.map { |val| apply(val, data) } + end + return logic unless logic.is_a?(Hash) # pass-thru + data = data.stringify_keys if data.is_a?(Hash) # Stringify keys to keep out problems with symbol/string mismatch operator, values = logic.first # unwrap single-key hash values = [values] unless values.is_a?(Array) # syntactic sugar Operation.perform(operator, values, data || {}) end