Sha256: 06f00f20dd7fba0034d4b9481d320f4668770700c41946fe96b67e53f2f708f2

Contents?: true

Size: 630 Bytes

Versions: 8

Compression:

Stored size: 630 Bytes

Contents

module NeatPages::Implants::ActionControllerImplant
  extend ActiveSupport::Concern

  included do
    append_after_filter :set_pagination_header

    helper_method :pagination

    rescue_from NeatPages::OutOfBound, with: :render_out_of_bound
  end

  def paginate(options={})
    options.reverse_merge! per_page: 20

    @_env['neat_pages'] = NeatPages::Base.new(params[:page], options)
  end

  def pagination
    @_env['neat_pages']
  end

  def render_out_of_bound
    render text: "out_of_bound", status: 404
  end

  def set_pagination_header
    response.headers.merge! pagination.response_headers if pagination
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
neat-pages-0.1.7 lib/neat_pages/implants/action_controller_implant.rb
neat-pages-0.1.6 lib/neat_pages/implants/action_controller_implant.rb
neat-pages-0.1.5 lib/neat_pages/implants/action_controller_implant.rb
neat-pages-0.1.4 lib/neat_pages/implants/action_controller_implant.rb
neat-pages-0.1.3 lib/neat_pages/implants/action_controller_implant.rb
neat-pages-0.1.2 lib/neat_pages/implants/action_controller_implant.rb
neat-pages-0.1.1 lib/neat_pages/implants/action_controller_implant.rb
neat-pages-0.1.0 lib/neat_pages/implants/action_controller_implant.rb