pagers 3.0.3 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generators/pagers/install_generator.rb +13 -0
  3. data/lib/generators/pagers/templates/pagers.rb +2 -0
  4. data/lib/pagers/action_view/base.rb +3 -3
  5. data/lib/pagers/active_record/base.rb +2 -2
  6. data/lib/pagers/railtie.rb +0 -6
  7. data/lib/pagers/version.rb +1 -1
  8. data/lib/pagers.rb +18 -0
  9. data/test/dummy/app/controllers/pages_controller.rb +1 -1
  10. data/test/dummy/app/models/record.rb +2 -0
  11. data/test/dummy/config/routes.rb +0 -3
  12. data/test/dummy/db/migrate/{20130820024335_create_models.rb → 20130820024335_create_records.rb} +1 -1
  13. data/test/dummy/db/schema.rb +1 -1
  14. data/test/dummy/db/test.sqlite3 +0 -0
  15. data/test/dummy/log/development.log +24 -0
  16. data/test/dummy/log/test.log +45976 -0
  17. data/test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  18. data/test/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  19. data/test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  20. data/test/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  21. data/test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  22. data/test/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  23. data/test/empty_test.rb +9 -9
  24. data/test/first_test.rb +10 -10
  25. data/test/generator_test.rb +18 -0
  26. data/test/last_test.rb +10 -10
  27. data/test/middle_test.rb +10 -10
  28. data/test/padding_test.rb +5 -37
  29. data/test/route_test.rb +37 -0
  30. metadata +24 -9
  31. data/README.rdoc +0 -40
  32. data/test/dummy/app/models/model.rb +0 -2
  33. data/test/dummy/db/development.sqlite3 +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b4048f8520c23f5b8199fb067f94da9323f3be53
4
- data.tar.gz: c370940b4f2585dce3525d61199874494de7c860
3
+ metadata.gz: 724e7f6b146b6719a0b7738c3d7ec5779ea40d48
4
+ data.tar.gz: f2330ed5b923978d163599b69850651d6936b378
5
5
  SHA512:
6
- metadata.gz: e060cb836a1ef39df1bf2d39574c40ddcd4b0f2d1140c87076f94439b0ba4807f3975db99b62d611ecc8035875cbd4d9b5b6cd62d4f2c769172448401248d274
7
- data.tar.gz: b2953675abbd3bd1546719302ad978f31a0bed6f24304a7a0fdabc6870b5237d21c2351c389904f0d8966d99833b4615345afd01e8130c6f6f410f0ded950f20
6
+ metadata.gz: 9df59fd8f65f0da8b75620454fd6a9d8b4622879277743c674a19200a78d0f298b5349a763776124071961dc2ec0b9d1920be0ec4ebb5345cb77a92ab20c2a59
7
+ data.tar.gz: deb5bdeec0cd3841f9721aa2d60cff8746d6ff6f4072c1703e5fbd0011ed5ee0c8526f4bac3e6f95b16c0f355ee07a8bf13b7dfac30b7e54b48e755ccfed98f1
@@ -0,0 +1,13 @@
1
+ require 'rails/generators'
2
+
3
+ module Pagers
4
+ class InstallGenerator < Rails::Generators::Base
5
+
6
+ source_root File.expand_path('../templates', __FILE__)
7
+
8
+ def create_initializer
9
+ copy_file 'pagers.rb', 'config/initializers/pagers.rb'
10
+ end
11
+
12
+ end
13
+ end
@@ -0,0 +1,2 @@
1
+ Pagers.configure do |config|
2
+ end
@@ -4,12 +4,12 @@ module Pagers
4
4
  extend ActiveSupport::Concern
5
5
 
6
6
  def page_path(page, options={})
7
- parameter = options[:parameter] || Rails.application.config.pagers.parameter
8
- request.path + '?' + request.query_parameters.merge(parameter => page).to_query
7
+ parameter = options[:parameter] || Pagers.config.parameter
8
+ url_for request.query_parameters.merge(parameter => page, only_path: true)
9
9
  end
10
10
 
11
11
  def paginate(collection, options={})
12
- pages = options[:pages] || Rails.application.config.pagers.pages
12
+ pages = options[:pages] || Pagers.config.pages
13
13
  if collection.total_pages >= pages
14
14
  middle = (pages / 2).ceil
15
15
  if collection.current_page > (collection.total_pages - middle)
@@ -8,8 +8,8 @@ module Pagers
8
8
  subclass.class_eval do
9
9
  if superclass == ::ActiveRecord::Base
10
10
  scope :page, ->(number, options={}) {
11
- length = options[:length] || Rails.application.config.pagers[:length]
12
- padding = options[:padding] || Rails.application.config.pagers[:padding]
11
+ length = options[:length] || Pagers.config.length
12
+ padding = options[:padding] || Pagers.config.padding
13
13
  current_page = [number.to_i, 1].max
14
14
  offset_value = (length * (current_page - 1)) + padding
15
15
  limit_value = length
@@ -1,12 +1,6 @@
1
1
  module Pagers
2
2
  class Railtie < Rails::Railtie
3
3
 
4
- config.pagers = ActiveSupport::OrderedOptions.new
5
- config.pagers.length = 20
6
- config.pagers.padding = 0
7
- config.pagers.parameter = :p
8
- config.pagers.pages = 5
9
-
10
4
  initializer 'pagers' do
11
5
  ::ActiveRecord::Base.send :include, Pagers::ActiveRecord::Base
12
6
  ::ActionView::Base.send :include, Pagers::ActionView::Base
@@ -1,5 +1,5 @@
1
1
  module Pagers
2
2
 
3
- VERSION = '3.0.3'
3
+ VERSION = '3.1.0'
4
4
 
5
5
  end
data/lib/pagers.rb CHANGED
@@ -5,4 +5,22 @@ require 'pagers/engine'
5
5
  require 'pagers/railtie'
6
6
 
7
7
  module Pagers
8
+ class << self
9
+
10
+ def configure
11
+ yield config
12
+ end
13
+
14
+ def config
15
+ @config ||= begin
16
+ ActiveSupport::OrderedOptions.new.tap do |config|
17
+ config.length = 20
18
+ config.padding = 0
19
+ config.parameter = :page
20
+ config.pages = 5
21
+ end
22
+ end
23
+ end
24
+
25
+ end
8
26
  end
@@ -1,7 +1,7 @@
1
1
  class PagesController < ApplicationController
2
2
 
3
3
  def index
4
- @collection = Model.page((params[:p] || 1), length: 1)
4
+ @collection = Record.page((params[:page] || 1), length: 1)
5
5
  end
6
6
 
7
7
  end
@@ -0,0 +1,2 @@
1
+ class Record < ActiveRecord::Base
2
+ end
@@ -1,5 +1,2 @@
1
1
  Rails.application.routes.draw do
2
-
3
- root to: 'pages#index'
4
-
5
2
  end
@@ -1,6 +1,6 @@
1
1
  class CreateModels < ActiveRecord::Migration
2
2
  def change
3
- create_table :models do |t|
3
+ create_table :records do |t|
4
4
  t.string :name
5
5
 
6
6
  t.timestamps
@@ -13,7 +13,7 @@
13
13
 
14
14
  ActiveRecord::Schema.define(version: 20130820024335) do
15
15
 
16
- create_table "models", force: true do |t|
16
+ create_table "records", force: true do |t|
17
17
  t.string "name"
18
18
  t.datetime "created_at"
19
19
  t.datetime "updated_at"
Binary file
@@ -1271,3 +1271,27 @@ Processing by PagesController#index as HTML
1271
1271
  Rendered /Users/Matt/Documents/Museways/Herramientas/Rails/pagers/app/views/pagers/_main.html.erb (1.3ms)
1272
1272
  Rendered pages/index.html.erb within layouts/application (3.1ms)
1273
1273
  Completed 200 OK in 6ms (Views: 5.8ms | ActiveRecord: 0.1ms)
1274
+
1275
+
1276
+ Started GET "/" for 127.0.0.1 at 2014-09-16 17:38:59 -0300
1277
+ ActiveRecord::SchemaMigration Load (0.5ms) SELECT "schema_migrations".* FROM "schema_migrations"
1278
+ Processing by PagesController#index as HTML
1279
+  (0.4ms) SELECT COUNT(*) FROM "models"
1280
+ Rendered /Users/Matt/Documents/Museways/Herramientas/Rails/pagers/app/views/pagers/_main.html.erb (9.1ms)
1281
+ Rendered pages/index.html.erb within layouts/application (15.7ms)
1282
+ Completed 200 OK in 50ms (Views: 41.4ms | ActiveRecord: 0.6ms)
1283
+
1284
+
1285
+ Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2014-09-16 17:38:59 -0300
1286
+
1287
+
1288
+ Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2014-09-16 17:38:59 -0300
1289
+
1290
+
1291
+ Started GET "/" for 127.0.0.1 at 2014-09-16 17:40:31 -0300
1292
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
1293
+ Processing by PagesController#index as HTML
1294
+  (0.1ms) SELECT COUNT(*) FROM "models"
1295
+ Rendered /Users/Matt/Documents/Museways/Herramientas/Rails/pagers/app/views/pagers/_main.html.erb (7.0ms)
1296
+ Rendered pages/index.html.erb within layouts/application (12.5ms)
1297
+ Completed 200 OK in 35ms (Views: 33.3ms | ActiveRecord: 0.4ms)