pagers 3.0.3 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
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)