Sha256: 9a4f0868f0bd05b7c7b938fad56103afc9787193f05092b92b7037b3aaf55d4b

Contents?: true

Size: 1.01 KB

Versions: 2

Compression:

Stored size: 1.01 KB

Contents

require 'active_support/concern'
require 'responders'
require 'roar-rails'

module HalApi::Controller
  extend ActiveSupport::Concern

  require 'hal_api/controller/actions'
  require 'hal_api/controller/cache'
  require 'hal_api/controller/resources'
  require 'hal_api/controller/exceptions'

  include HalApi::Controller::Actions
  include HalApi::Controller::Cache
  include HalApi::Controller::Resources
  include HalApi::Controller::Exceptions

  included do
    include Roar::Rails::ControllerAdditions

    before_action :set_accepts
    respond_to :hal, :json

    hal_rescue_standard_errors
  end

  private

  def set_accepts
    mime_comparator = case HalApi::rails_major_version
                      when 5
                        Mime[:html]
                      else
                        Mime::HTML
                      end
    request.format = :json if request.format == mime_comparator
  end

  def env
    case HalApi.rails_major_version
    when 5
      request.env
    else
      super
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
hal_api-rails-0.4.1 lib/hal_api/controller.rb
hal_api-rails-0.4.0 lib/hal_api/controller.rb