Sha256: 5c11bc4134f7fc0960a991604f72323d0ef3c291c87289429060c51236182455

Contents?: true

Size: 1.5 KB

Versions: 62

Compression:

Stored size: 1.5 KB

Contents

module TrustyCms
  module Pagination
    module Controller
      # for inclusion into public-facing controllers

      def configure_pagination
        # unconfigured parameters remain at will_paginate defaults
        # will_paginate controller options are not overridden by tag attribetus
        WillPaginate::ViewHelpers.pagination_options[:param_name] = TrustyCms::Config["pagination.param_name"].to_sym unless TrustyCms::Config["pagination.param_name"].blank?
        WillPaginate::ViewHelpers.pagination_options[:per_page_param_name] = TrustyCms::Config["pagination.per_page_param_name"].blank? ? :per_page : TrustyCms::Config["pagination.per_page_param_name"].to_sym

        # will_paginate view options can be overridden by tag attributes
        [:class, :previous_label, :next_label, :inner_window, :outer_window, :separator, :container].each do |opt|
          WillPaginate::ViewHelpers.pagination_options[opt] = TrustyCms::Config["pagination.#{opt}"] unless TrustyCms::Config["pagination.#{opt}"].blank?
        end
      end

      def pagination_parameters
        {
          :page => params[WillPaginate::ViewHelpers.pagination_options[:param_name]] || 1,
          :per_page => params[WillPaginate::ViewHelpers.pagination_options[:per_page_param_name]] || TrustyCms::Config['pagination.per_page'] || 20
        }
      end

      def self.included(base)
        base.class_eval {
          helper_method :pagination_parameters
          before_action :configure_pagination
        }
      end
    end
  end



end





Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
trusty-cms-4.1.2 lib/trusty_cms/pagination/controller.rb
trusty-cms-4.1.1 lib/trusty_cms/pagination/controller.rb
trusty-cms-4.1.0 lib/trusty_cms/pagination/controller.rb
trusty-cms-4.0.2 lib/trusty_cms/pagination/controller.rb
trusty-cms-3.9.7 lib/trusty_cms/pagination/controller.rb
trusty-cms-3.9.6 lib/trusty_cms/pagination/controller.rb
trusty-cms-3.9.5 lib/trusty_cms/pagination/controller.rb
trusty-cms-4.0.1 lib/trusty_cms/pagination/controller.rb
trusty-cms-3.9.4 lib/trusty_cms/pagination/controller.rb
trusty-cms-3.9.3 lib/trusty_cms/pagination/controller.rb
trusty-cms-3.9.2 lib/trusty_cms/pagination/controller.rb
trusty-cms-4.0.0 lib/trusty_cms/pagination/controller.rb
trusty-cms-3.9.1 lib/trusty_cms/pagination/controller.rb
trusty-cms-3.9.0 lib/trusty_cms/pagination/controller.rb
trusty-cms-3.8.4 lib/trusty_cms/pagination/controller.rb
trusty-cms-3.8.3 lib/trusty_cms/pagination/controller.rb
trusty-cms-3.8.2 lib/trusty_cms/pagination/controller.rb
trusty-cms-3.8.1 lib/trusty_cms/pagination/controller.rb
trusty-cms-3.8.0 lib/trusty_cms/pagination/controller.rb
trusty-cms-3.7.1 lib/trusty_cms/pagination/controller.rb