Method: Mbrao::PublicInterface::ClassMethods#as_json
- Defined in:
- lib/mbrao/parser.rb
#as_json(target, keys, options = {}) ⇒ Hash
Returns an object as a JSON compatible hash
76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/mbrao/parser.rb', line 76 def as_json(target, keys, = {}) include_empty = ![:exclude_empty].to_boolean exclude = [:exclude].ensure_array(nil, true, true, true, :ensure_string) keys = keys.ensure_array(nil, true, true, true, :ensure_string) (keys - exclude).reduce({}) {|rv, key| value = target.send(key) value = value.as_json if value && value.respond_to?(:as_json) rv[key] = value if include_empty || !value.is_a?(NilClass) rv }.deep_stringify_keys end |