Sha256: 6fa835a6b4a75e981caa98781388adfceb1ebb8aa1681d4d2a40ed5bcf5ceed8

Contents?: true

Size: 1.41 KB

Versions: 7

Compression:

Stored size: 1.41 KB

Contents

require 'active_support/configurable'

module BootstrapPager
  # Configures global settings for BootstrapPager
  #   BootstrapPager.configure do |config|
  #     config.default_per_page = 10
  #   end
  def self.configure(&block)
    yield @config ||= BootstrapPager::Configuration.new
  end

  # Global settings for BootstrapPager
  def self.config
    @config
  end

  # need a Class for 3.0
  class Configuration #:nodoc:
    include ActiveSupport::Configurable
    config_accessor :default_per_page
    config_accessor :max_per_page
    config_accessor :window
    config_accessor :outer_window
    config_accessor :left
    config_accessor :right
    config_accessor :page_method_name
    config_accessor :max_pages

    def param_name
      config.param_name.respond_to?(:call) ? config.param_name.call : config.param_name
    end

    # define param_name writer (copied from AS::Configurable)
    writer, line = 'def param_name=(value); config.param_name = value; end', __LINE__
    singleton_class.class_eval writer, __FILE__, line
    class_eval writer, __FILE__, line
  end

  # this is ugly. why can't we pass the default value to config_accessor...?
  configure do |config|
    config.default_per_page = 25
    config.max_per_page = nil
    config.window = 4
    config.outer_window = 0
    config.left = 0
    config.right = 0
    config.page_method_name = :page
    config.param_name = :page
    config.max_pages = nil
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
bootstrap_pager-0.11.0 lib/bootstrap_pager/config.rb
bootstrap_pager-0.10.1 lib/bootstrap_pager/config.rb
bootstrap_pager-0.10.0 lib/bootstrap_pager/config.rb
bootstrap_pager-0.9.3 lib/bootstrap_pager/config.rb
bootstrap_pager-0.9.2 lib/bootstrap_pager/config.rb
bootstrap_pager-0.9.1 lib/bootstrap_pager/config.rb
bootstrap_pager-0.9.0 lib/bootstrap_pager/config.rb