Sha256: 53497f01a45390e6e372be0709fba53069d24ebe7bcae8113c2a8b10cade97b1

Contents?: true

Size: 814 Bytes

Versions: 12

Compression:

Stored size: 814 Bytes

Contents

# frozen_string_literal: true

ActionController::Renderers.add :resource do |resource, options|
  options = options.slice(:serializer, :meta, :message, :context, :message, :location)

  result = options[:serializer].new(resource, meta: options[:meta], message: options[:message]).as_json

  self.content_type = Mime[:json]

  result
end

ActionController::Renderers.add :resource_errors do |errors, _options|
  result = PiResources::Serializer::ResourceErrorsSerializer.new(errors).as_json

  self.content_type = Mime[:json]

  result
end

ActionController::Renderers.add :exception do |exception, options|
  options = options.slice(:status, :error)

  result = PiResources::Serializer::ExceptionSerializer.new(exception: exception, root: false, **options).as_json

  self.content_type = Mime[:json]

  result
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
pi-resources-rails-0.6.3 lib/pi_resources/renderers.rb
pi-resources-rails-0.6.2 lib/pi_resources/renderers.rb
pi-resources-rails-0.6.1 lib/pi_resources/renderers.rb
pi-resources-rails-0.6.0 lib/pi_resources/renderers.rb
pi-resources-rails-0.5.0 lib/pi_resources/renderers.rb
pi-resources-rails-0.4.4 lib/pi_resources/renderers.rb
pi-resources-rails-0.4.3 lib/pi_resources/renderers.rb
pi-resources-rails-0.4.2 lib/pi_resources/renderers.rb
pi-resources-rails-0.4.1 lib/pi_resources/renderers.rb
pi-resources-rails-0.4.0 lib/pi_resources/renderers.rb
pi-resources-rails-0.3.0 lib/pi_resources/renderers.rb
pi-resources-rails-0.2.0 lib/pi_resources/renderers.rb