module Middlewares::Decorator::Representable

Public Class Methods

decorate(object, options) click to toggle source
# File lib/endpoint_flux/tasks/endpoint_flux/generators/endpoint_flux/middlewares/decorator/representable.rb, line 13
def self.decorate(object, options)
  decorator = "::Decorators::#{options[:decorator].to_s.camelize}".constantize

  if options[:collection?]
    decorator.for_collection.new(object.to_a).to_hash
  else
    decorator.new(object).to_hash
  end
end
perform(request, response, options) click to toggle source
# File lib/endpoint_flux/tasks/endpoint_flux/generators/endpoint_flux/middlewares/decorator/representable.rb, line 4
def self.perform(request, response, options)
  resource_name = options[:wrapped_in] || options[:decorator]
  resource      = response.body[resource_name]

  response.body[resource_name] = decorate(resource, options) if resource

  [request, response]
end