module BeyondTheApi::RenderHelpers

Public Instance Methods

render_json_errors(object) click to toggle source
# File lib/beyond_the_api/render_helpers.rb, line 25
def render_json_errors(object)
  errors = object.errors
  render json: { errors: errors.messages,
                 full_error_messages: errors.full_messages, meta: @meta }, status: 422
end
render_json_message(hash, status, optionals = {}) click to toggle source
# File lib/beyond_the_api/render_helpers.rb, line 19
def render_json_message(hash, status, optionals = {})
  hash = hash.merge(meta: @meta)
  hash = hash.merge(optionals)
  render json: hash, status: status
end
render_json_message_with_serializer(object, options = {}) click to toggle source
# File lib/beyond_the_api/render_helpers.rb, line 12
def render_json_message_with_serializer(object, options = {})
  hash = serialized_object_with_root(object, options[:serializer_root])
  hash.merge!(options[:message])
  hash[:meta] = @meta
  render json: hash, status: (options[:status] || :ok)
end

Private Instance Methods

serialized_object_with_root(object, root) click to toggle source
# File lib/beyond_the_api/render_helpers.rb, line 39
def serialized_object_with_root(object, root)
  options = {}
  options[:current_user] = current_user if respond_to?(:current_user)

  root ||= object.class.to_s.underscore
  { root => object.serialize_to_json(options) }
end
set_meta() click to toggle source
# File lib/beyond_the_api/render_helpers.rb, line 33
def set_meta
  @meta ||= {}
  @meta[:version] = params[:controller].split('/').first
  @meta[:now] = Time.current
end