module Fern::Presenter

Constants

VERSION

Attributes

presenter[R]

Public Instance Methods

present(object, **opts) click to toggle source
# File lib/fern/presenter.rb, line 10
def present(object, **opts)
  render json: render_presenter(object, **opts)
end
render_presenter(object, **opts) click to toggle source
# File lib/fern/presenter.rb, line 14
def render_presenter(object, **opts)
  presenter = fern[action_name.to_sym][:presenter]

  if object.is_a?(Array) || object.is_a?(ActiveRecord::Relation)
    object.map { |el| presenter.new(el).as_json(**opts) }
  else
    presenter.new(object).as_json(**opts)
  end
end