Class: NutsJson::Serializer
- Inherits:
-
Object
- Object
- NutsJson::Serializer
- Defined in:
- lib/nuts_json/serializer.rb
Instance Method Summary collapse
-
#initialize(resource = nil, pattern = nil) ⇒ Serializer
constructor
A new instance of Serializer.
- #key ⇒ Object
- #keys ⇒ Object
- #to_json(*_args) ⇒ Object
Constructor Details
#initialize(resource = nil, pattern = nil) ⇒ Serializer
Returns a new instance of Serializer.
7 8 9 10 |
# File 'lib/nuts_json/serializer.rb', line 7 def initialize(resource = nil, pattern = nil) @resource = resource @pattern = pattern end |
Instance Method Details
#key ⇒ Object
18 19 20 |
# File 'lib/nuts_json/serializer.rb', line 18 def key :data end |
#keys ⇒ Object
22 23 24 |
# File 'lib/nuts_json/serializer.rb', line 22 def keys key.id2name.pluralize.intern end |
#to_json(*_args) ⇒ Object
12 13 14 15 16 |
# File 'lib/nuts_json/serializer.rb', line 12 def to_json(*_args) return Oj.dump({ key => self.send(@pattern, @resource) }, mode: :compat) unless @resource.respond_to?(:to_a) Oj.dump({ keys => @resource.map { |data| self.send(@pattern, data) }}, mode: :compat) end |