class NutsJson::Serializer

Public Class Methods

new(resource = nil, pattern = nil) click to toggle source
# File lib/nuts_json/serializer.rb, line 7
def initialize(resource = nil, pattern = nil)
  @resource = resource
  @pattern = pattern
end

Public Instance Methods

key() click to toggle source
# File lib/nuts_json/serializer.rb, line 18
def key
  :data
end
keys() click to toggle source
# File lib/nuts_json/serializer.rb, line 22
def keys
  key.id2name.pluralize.intern
end
to_json(*_args) click to toggle source
# 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