pagers 3.1.5 → 4.0.0.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 (112) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +1 -1
  3. data/README.md +28 -15
  4. data/Rakefile +1 -16
  5. data/app/views/pagers/_main.html.erb +1 -1
  6. data/lib/generators/pagers/install/install_generator.rb +13 -0
  7. data/lib/generators/pagers/install/templates/initializer.rb +7 -0
  8. data/lib/pagers.rb +8 -13
  9. data/lib/pagers/configuration.rb +7 -0
  10. data/lib/pagers/extensions/action_view/base.rb +48 -0
  11. data/lib/pagers/extensions/active_record/base.rb +43 -0
  12. data/lib/pagers/extensions/active_record/relation.rb +43 -0
  13. data/lib/pagers/railtie.rb +7 -3
  14. data/lib/pagers/version.rb +1 -1
  15. data/test/dummy/Rakefile +1 -2
  16. data/test/dummy/app/assets/javascripts/application.js +2 -2
  17. data/test/dummy/app/assets/stylesheets/application.css +6 -4
  18. data/test/dummy/app/controllers/products_controller.rb +8 -0
  19. data/test/dummy/app/models/product.rb +2 -0
  20. data/test/dummy/app/views/layouts/application.html.erb +9 -11
  21. data/test/dummy/app/views/products/index.html.erb +1 -0
  22. data/test/dummy/bin/bundle +1 -0
  23. data/test/dummy/bin/rails +2 -1
  24. data/test/dummy/bin/rake +1 -0
  25. data/test/dummy/bin/setup +30 -0
  26. data/test/dummy/config.ru +1 -1
  27. data/test/dummy/config/application.rb +3 -0
  28. data/test/dummy/config/boot.rb +1 -1
  29. data/test/dummy/config/database.yml +4 -22
  30. data/test/dummy/config/database.yml.travis +3 -0
  31. data/test/dummy/config/environment.rb +1 -1
  32. data/test/dummy/config/environments/development.rb +15 -3
  33. data/test/dummy/config/environments/production.rb +21 -26
  34. data/test/dummy/config/environments/test.rb +10 -12
  35. data/test/dummy/config/initializers/assets.rb +11 -0
  36. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  37. data/test/dummy/config/initializers/mime_types.rb +1 -2
  38. data/test/dummy/config/initializers/pagers.rb +7 -0
  39. data/test/dummy/config/initializers/session_store.rb +1 -1
  40. data/test/dummy/config/routes.rb +1 -0
  41. data/test/dummy/config/secrets.yml +22 -0
  42. data/test/dummy/db/migrate/20130820024335_create_products.rb +7 -0
  43. data/test/dummy/db/schema.rb +6 -4
  44. data/test/dummy/log/development.log +25 -0
  45. data/test/dummy/log/test.log +22127 -987
  46. data/test/dummy/public/404.html +58 -55
  47. data/test/dummy/public/422.html +58 -55
  48. data/test/dummy/public/500.html +57 -54
  49. data/test/dummy/tmp/cache/assets/sprockets/v3.0/34/34l0xNON3WYrRP9HWkz5ZK9IQzIEVGYFn6VDMKiheeA.cache +0 -0
  50. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5L/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +2 -0
  51. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OI/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +2 -0
  52. data/test/dummy/tmp/cache/assets/sprockets/v3.0/SG/SGNGr7AZfBE1q7ev2-YM1G-o0XAZ0pKqbsS3NvHtRcA.cache +1 -0
  53. data/test/dummy/tmp/cache/assets/sprockets/v3.0/TO/TOCwj3wVkgMFleFRO8KMLE3Qq6FsXpCeZD56U1AEPEc.cache +0 -0
  54. data/test/dummy/tmp/cache/assets/sprockets/v3.0/YJ/YJjzVvL4dd5E1S5fIpCphDLf9mEWeGfhO-ALTZpJ8-c.cache +0 -0
  55. data/test/dummy/tmp/cache/{sprockets/v3.0/4qi4l6mZwh9hUfWOWITw6FuJ15NRpPcIgJ22C20Yrhw.cache → assets/sprockets/v3.0/fG/fG_uaNK13wisQiji91xNsGecGxX9QhMCF2eSX_aR0G0.cache} +0 -0
  56. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gb/gbunrAFVOHPwl2npUgKv_C3f_qiJnZDd9zG5-h3jrpo.cache +1 -0
  57. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hZ/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +2 -0
  58. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mv/mvqN6PphkrOOC8zbUEhpC_9E_4ybdO25MRy_gG6dq3Y.cache +1 -0
  59. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nm/nmcUZlKAIwyJ_35Nm9P8pukLeRX5aApP6NFj5MpNPgc.cache +1 -0
  60. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pE/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +2 -0
  61. data/test/dummy/tmp/cache/{sprockets/v3.0/IXhyhrFX9OAFbL6na95F8HncYlwJm9_DdZx3OGTlvjk.cache → assets/sprockets/v3.0/sB/sB6xWxBmgzVC0Co9__ANYrE58lr4WPwiwFa9mswooWM.cache} +0 -0
  62. data/test/dummy/tmp/cache/assets/sprockets/v3.0/va/vaNrIny9hchHD9eIJxAicyYLC7qeV4PTh4Nh40_Y6Vg.cache +1 -0
  63. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xd/xdBKQyhEAlDIstGvXw945PWJoEWi23rKuY7elOcWqHc.cache +1 -0
  64. data/test/dummy/tmp/cache/assets/sprockets/v3.0/yH/yHjEG5b89-DY37A9c_d90xiOarCQ4bJHa-i98W72DXI.cache +0 -0
  65. data/test/generator_test.rb +5 -5
  66. data/test/relation_test.rb +85 -0
  67. data/test/test_helper.rb +6 -13
  68. data/test/view_test.rb +47 -0
  69. metadata +75 -96
  70. data/lib/generators/pagers/install_generator.rb +0 -13
  71. data/lib/generators/pagers/templates/pagers.rb +0 -2
  72. data/lib/pagers/action_view/base.rb +0 -40
  73. data/lib/pagers/active_record/base.rb +0 -37
  74. data/lib/pagers/active_record/relation.rb +0 -41
  75. data/test/dummy/README.rdoc +0 -28
  76. data/test/dummy/app/controllers/pages_controller.rb +0 -7
  77. data/test/dummy/app/models/record.rb +0 -2
  78. data/test/dummy/app/views/pages/index.html.erb +0 -1
  79. data/test/dummy/config/initializers/secret_token.rb +0 -13
  80. data/test/dummy/db/migrate/20130820024335_create_records.rb +0 -9
  81. data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  82. data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  83. data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  84. data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  85. data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  86. data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  87. data/test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  88. data/test/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  89. data/test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  90. data/test/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  91. data/test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  92. data/test/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  93. data/test/dummy/tmp/cache/sprockets/v3.0/4CacREYU-WtfLMBbdP-dhQGvv5x5m64f08AyEfpJQOo.cache +0 -1
  94. data/test/dummy/tmp/cache/sprockets/v3.0/92EHsdop8I2qLLTnyIPHKsBjC79WjGLaG37jVJyQVhk.cache +0 -0
  95. data/test/dummy/tmp/cache/sprockets/v3.0/EWvcaZ9y1ATwOV77WPqF6MOVajQDzmhssysEljgt9Eo.cache +0 -0
  96. data/test/dummy/tmp/cache/sprockets/v3.0/Ko7VnYzTp2dC_WWnmGeCA4HQFz0DP4BhGt3lwlHhHi8.cache +0 -1
  97. data/test/dummy/tmp/cache/sprockets/v3.0/LhsrcVSJd1rOgmBlzouy8hNPVwxmPKoQ-Gas3gSxTkI.cache +0 -1
  98. data/test/dummy/tmp/cache/sprockets/v3.0/V69Dt-aUrVqv_nmsS1zbhdjuZiJYjFhnrydvD2K2GUM.cache +0 -0
  99. data/test/dummy/tmp/cache/sprockets/v3.0/_Ncty4f5wW4Cr2m5RgKKk4M1vjFREhRT4rNNa3xudJk.cache +0 -0
  100. data/test/dummy/tmp/cache/sprockets/v3.0/aN14MzsGXl0Y-OLjTiDPq1Q4JIyN7HL8WxyvnCmR15s.cache +0 -0
  101. data/test/dummy/tmp/cache/sprockets/v3.0/bK7xK7GDY9-6iymHURf47UyKHbhI_XkIoXheTZIkob8.cache +0 -1
  102. data/test/dummy/tmp/cache/sprockets/v3.0/hj8Ir9wcVSy1KYrnWu9bpD24vDhCG3tvt-nKbNxb1Wg.cache +0 -3
  103. data/test/dummy/tmp/cache/sprockets/v3.0/oCsZTGZyV4kH8Y4OeSDUdrwfkJFPzTODZjuBKZB8oGQ.cache +0 -2
  104. data/test/dummy/tmp/cache/sprockets/v3.0/pwlpdo053gu3Fg6oen1pnE9oV9ErbgrDW0VbKPLs098.cache +0 -0
  105. data/test/dummy/tmp/cache/sprockets/v3.0/q6BYa32YJF11eGVapO4ouNl6gayPIsARgMavlzZmoi0.cache +0 -3
  106. data/test/dummy/tmp/cache/sprockets/v3.0/x7KkTV3ibfIEysLB_ug5bfmnn2VLV_BldukPR3EoPBk.cache +0 -2
  107. data/test/empty_test.rb +0 -39
  108. data/test/first_test.rb +0 -43
  109. data/test/last_test.rb +0 -43
  110. data/test/middle_test.rb +0 -43
  111. data/test/padding_test.rb +0 -21
  112. data/test/route_test.rb +0 -69
data/test/test_helper.rb CHANGED
@@ -1,21 +1,14 @@
1
1
  # Configure Rails Environment
2
2
  ENV['RAILS_ENV'] = 'test'
3
3
 
4
- require File.expand_path('../dummy/config/environment.rb', __FILE__)
4
+ require File.expand_path('../../test/dummy/config/environment.rb', __FILE__)
5
+ ActiveRecord::Migrator.migrations_paths = [File.expand_path('../../test/dummy/db/migrate', __FILE__)]
6
+ ActiveRecord::Migrator.migrations_paths << File.expand_path('../../db/migrate', __FILE__)
5
7
  require 'rails/test_help'
6
8
 
7
- Rails.backtrace_cleaner.remove_silencers!
9
+ # Filter out Minitest backtrace while allowing backtrace from other libraries
10
+ # to be shown.
11
+ Minitest.backtrace_filter = Minitest::BacktraceFilter.new
8
12
 
9
13
  # Load support files
10
14
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
11
-
12
- # Load fixtures from the engine
13
- if ActiveSupport::TestCase.method_defined?(:fixture_path=)
14
- ActiveSupport::TestCase.fixture_path = File.expand_path('../fixtures', __FILE__)
15
- end
16
-
17
- # Load database
18
- config = YAML::load(File.read(File.expand_path('../dummy/config/database.yml', __FILE__)))
19
- config['test']['adapter'] = 'jdbcsqlite3' if RUBY_PLATFORM == 'java'
20
- ActiveRecord::Base.establish_connection(config['test'])
21
- load(File.expand_path('../dummy/db/schema.rb', __FILE__))
data/test/view_test.rb ADDED
@@ -0,0 +1,47 @@
1
+ require 'test_helper'
2
+
3
+ class ViewTest < ActionDispatch::IntegrationTest
4
+
5
+ setup do
6
+ 10.times { Product.create }
7
+ end
8
+
9
+ test 'html' do
10
+ get '/'
11
+ assert_select 'li.first', false
12
+ assert_select 'li.previous', false
13
+ assert_select 'li.page.current a[href=?]', '/', text: /1/, count: 1
14
+ assert_select 'li.page a[href=?]', '/?page=2', text: /2/, count: 1
15
+ assert_select 'li.page a[href=?]', '/?page=3', text: /3/, count: 1
16
+ assert_select 'li.page a[href=?]', '/?page=4', text: /4/, count: 1
17
+ assert_select 'li.page a[href=?]', '/?page=5', text: /5/, count: 1
18
+ assert_select 'li.next a[href=?]', '/?page=2', text: /Next/, count: 1
19
+ assert_select 'li.last a[href=?]', '/?page=10', text: /Last/, count: 1
20
+ assert_select 'li.ellipsis', text: /…/, count: 1
21
+
22
+ get '/?page=5'
23
+ assert_select 'li.first a[href=?]', '/', text: /First/, count: 1
24
+ assert_select 'li.previous a[href=?]', '/?page=4', text: /Previous/, count: 1
25
+ assert_select 'li.page a[href=?]', '/?page=3', text: /3/, count: 1
26
+ assert_select 'li.page a[href=?]', '/?page=4', text: /4/, count: 1
27
+ assert_select 'li.page.current a[href=?]', '/?page=5', text: /5/, count: 1
28
+ assert_select 'li.page a[href=?]', '/?page=6', text: /6/, count: 1
29
+ assert_select 'li.page a[href=?]', '/?page=7', text: /7/, count: 1
30
+ assert_select 'li.next a[href=?]', '/?page=6', text: /Next/, count: 1
31
+ assert_select 'li.last a[href=?]', '/?page=10', text: /Last/, count: 1
32
+ assert_select 'li.ellipsis', text: /…/, count: 2
33
+
34
+ get '/?page=10'
35
+ assert_select 'li.first a[href=?]', '/', text: /First/, count: 1
36
+ assert_select 'li.previous a[href=?]', '/?page=9', text: /Previous/, count: 1
37
+ assert_select 'li.page a[href=?]', '/?page=6', text: /6/, count: 1
38
+ assert_select 'li.page a[href=?]', '/?page=7', text: /7/, count: 1
39
+ assert_select 'li.page a[href=?]', '/?page=8', text: /8/, count: 1
40
+ assert_select 'li.page a[href=?]', '/?page=9', text: /9/, count: 1
41
+ assert_select 'li.page.current a[href=?]', '/?page=10', text: /10/, count: 1
42
+ assert_select 'li.next', false
43
+ assert_select 'li.last', false
44
+ assert_select 'li.ellipsis', text: /…/, count: 1
45
+ end
46
+
47
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pagers
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.5
4
+ version: 4.0.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - mmontossi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-15 00:00:00.000000000 Z
11
+ date: 2016-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 4.0.0
19
+ version: 4.2.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 4.3.0
@@ -26,27 +26,27 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 4.0.0
29
+ version: 4.2.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 4.3.0
33
33
  - !ruby/object:Gem::Dependency
34
- name: sqlite3
34
+ name: pg
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '1.3'
39
+ version: '0.18'
40
40
  type: :development
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '1.3'
47
- description: Minimalistic pagers inspired in kaminari and will_paginate for rails.
46
+ version: '0.18'
47
+ description: Scope based pagination engine for rails.
48
48
  email:
49
- - mmontossi@buyin.io
49
+ - mmontossi@gmail.com
50
50
  executables: []
51
51
  extensions: []
52
52
  extra_rdoc_files: []
@@ -57,88 +57,78 @@ files:
57
57
  - app/views/pagers/_main.html.erb
58
58
  - config/locales/en.yml
59
59
  - config/locales/es.yml
60
- - lib/generators/pagers/install_generator.rb
61
- - lib/generators/pagers/templates/pagers.rb
60
+ - lib/generators/pagers/install/install_generator.rb
61
+ - lib/generators/pagers/install/templates/initializer.rb
62
62
  - lib/pagers.rb
63
- - lib/pagers/action_view/base.rb
64
- - lib/pagers/active_record/base.rb
65
- - lib/pagers/active_record/relation.rb
63
+ - lib/pagers/configuration.rb
66
64
  - lib/pagers/engine.rb
65
+ - lib/pagers/extensions/action_view/base.rb
66
+ - lib/pagers/extensions/active_record/base.rb
67
+ - lib/pagers/extensions/active_record/relation.rb
67
68
  - lib/pagers/railtie.rb
68
69
  - lib/pagers/version.rb
69
- - test/dummy/README.rdoc
70
70
  - test/dummy/Rakefile
71
71
  - test/dummy/app/assets/javascripts/application.js
72
72
  - test/dummy/app/assets/stylesheets/application.css
73
73
  - test/dummy/app/controllers/application_controller.rb
74
- - test/dummy/app/controllers/pages_controller.rb
74
+ - test/dummy/app/controllers/products_controller.rb
75
75
  - test/dummy/app/helpers/application_helper.rb
76
- - test/dummy/app/models/record.rb
76
+ - test/dummy/app/models/product.rb
77
77
  - test/dummy/app/views/layouts/application.html.erb
78
- - test/dummy/app/views/pages/index.html.erb
78
+ - test/dummy/app/views/products/index.html.erb
79
79
  - test/dummy/bin/bundle
80
80
  - test/dummy/bin/rails
81
81
  - test/dummy/bin/rake
82
+ - test/dummy/bin/setup
82
83
  - test/dummy/config.ru
83
84
  - test/dummy/config/application.rb
84
85
  - test/dummy/config/boot.rb
85
86
  - test/dummy/config/database.yml
87
+ - test/dummy/config/database.yml.travis
86
88
  - test/dummy/config/environment.rb
87
89
  - test/dummy/config/environments/development.rb
88
90
  - test/dummy/config/environments/production.rb
89
91
  - test/dummy/config/environments/test.rb
92
+ - test/dummy/config/initializers/assets.rb
90
93
  - test/dummy/config/initializers/backtrace_silencers.rb
94
+ - test/dummy/config/initializers/cookies_serializer.rb
91
95
  - test/dummy/config/initializers/filter_parameter_logging.rb
92
96
  - test/dummy/config/initializers/inflections.rb
93
97
  - test/dummy/config/initializers/mime_types.rb
94
- - test/dummy/config/initializers/secret_token.rb
98
+ - test/dummy/config/initializers/pagers.rb
95
99
  - test/dummy/config/initializers/session_store.rb
96
100
  - test/dummy/config/initializers/wrap_parameters.rb
97
101
  - test/dummy/config/locales/en.yml
98
102
  - test/dummy/config/routes.rb
99
- - test/dummy/db/migrate/20130820024335_create_records.rb
103
+ - test/dummy/config/secrets.yml
104
+ - test/dummy/db/migrate/20130820024335_create_products.rb
100
105
  - test/dummy/db/schema.rb
106
+ - test/dummy/log/development.log
101
107
  - test/dummy/log/test.log
102
108
  - test/dummy/public/404.html
103
109
  - test/dummy/public/422.html
104
110
  - test/dummy/public/500.html
105
111
  - test/dummy/public/favicon.ico
106
- - test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
107
- - test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
108
- - test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
109
- - test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
110
- - test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
111
- - test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
112
- - test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
113
- - test/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
114
- - test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
115
- - test/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
116
- - test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
117
- - test/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
118
- - test/dummy/tmp/cache/sprockets/v3.0/4CacREYU-WtfLMBbdP-dhQGvv5x5m64f08AyEfpJQOo.cache
119
- - test/dummy/tmp/cache/sprockets/v3.0/4qi4l6mZwh9hUfWOWITw6FuJ15NRpPcIgJ22C20Yrhw.cache
120
- - test/dummy/tmp/cache/sprockets/v3.0/92EHsdop8I2qLLTnyIPHKsBjC79WjGLaG37jVJyQVhk.cache
121
- - test/dummy/tmp/cache/sprockets/v3.0/EWvcaZ9y1ATwOV77WPqF6MOVajQDzmhssysEljgt9Eo.cache
122
- - test/dummy/tmp/cache/sprockets/v3.0/IXhyhrFX9OAFbL6na95F8HncYlwJm9_DdZx3OGTlvjk.cache
123
- - test/dummy/tmp/cache/sprockets/v3.0/Ko7VnYzTp2dC_WWnmGeCA4HQFz0DP4BhGt3lwlHhHi8.cache
124
- - test/dummy/tmp/cache/sprockets/v3.0/LhsrcVSJd1rOgmBlzouy8hNPVwxmPKoQ-Gas3gSxTkI.cache
125
- - test/dummy/tmp/cache/sprockets/v3.0/V69Dt-aUrVqv_nmsS1zbhdjuZiJYjFhnrydvD2K2GUM.cache
126
- - test/dummy/tmp/cache/sprockets/v3.0/_Ncty4f5wW4Cr2m5RgKKk4M1vjFREhRT4rNNa3xudJk.cache
127
- - test/dummy/tmp/cache/sprockets/v3.0/aN14MzsGXl0Y-OLjTiDPq1Q4JIyN7HL8WxyvnCmR15s.cache
128
- - test/dummy/tmp/cache/sprockets/v3.0/bK7xK7GDY9-6iymHURf47UyKHbhI_XkIoXheTZIkob8.cache
129
- - test/dummy/tmp/cache/sprockets/v3.0/hj8Ir9wcVSy1KYrnWu9bpD24vDhCG3tvt-nKbNxb1Wg.cache
130
- - test/dummy/tmp/cache/sprockets/v3.0/oCsZTGZyV4kH8Y4OeSDUdrwfkJFPzTODZjuBKZB8oGQ.cache
131
- - test/dummy/tmp/cache/sprockets/v3.0/pwlpdo053gu3Fg6oen1pnE9oV9ErbgrDW0VbKPLs098.cache
132
- - test/dummy/tmp/cache/sprockets/v3.0/q6BYa32YJF11eGVapO4ouNl6gayPIsARgMavlzZmoi0.cache
133
- - test/dummy/tmp/cache/sprockets/v3.0/x7KkTV3ibfIEysLB_ug5bfmnn2VLV_BldukPR3EoPBk.cache
134
- - test/empty_test.rb
135
- - test/first_test.rb
112
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/34/34l0xNON3WYrRP9HWkz5ZK9IQzIEVGYFn6VDMKiheeA.cache
113
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/5L/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache
114
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/OI/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache
115
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/SG/SGNGr7AZfBE1q7ev2-YM1G-o0XAZ0pKqbsS3NvHtRcA.cache
116
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/TO/TOCwj3wVkgMFleFRO8KMLE3Qq6FsXpCeZD56U1AEPEc.cache
117
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/YJ/YJjzVvL4dd5E1S5fIpCphDLf9mEWeGfhO-ALTZpJ8-c.cache
118
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/fG/fG_uaNK13wisQiji91xNsGecGxX9QhMCF2eSX_aR0G0.cache
119
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/gb/gbunrAFVOHPwl2npUgKv_C3f_qiJnZDd9zG5-h3jrpo.cache
120
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/hZ/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache
121
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/mv/mvqN6PphkrOOC8zbUEhpC_9E_4ybdO25MRy_gG6dq3Y.cache
122
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/nm/nmcUZlKAIwyJ_35Nm9P8pukLeRX5aApP6NFj5MpNPgc.cache
123
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/pE/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache
124
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/sB/sB6xWxBmgzVC0Co9__ANYrE58lr4WPwiwFa9mswooWM.cache
125
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/va/vaNrIny9hchHD9eIJxAicyYLC7qeV4PTh4Nh40_Y6Vg.cache
126
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/xd/xdBKQyhEAlDIstGvXw945PWJoEWi23rKuY7elOcWqHc.cache
127
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/yH/yHjEG5b89-DY37A9c_d90xiOarCQ4bJHa-i98W72DXI.cache
136
128
  - test/generator_test.rb
137
- - test/last_test.rb
138
- - test/middle_test.rb
139
- - test/padding_test.rb
140
- - test/route_test.rb
129
+ - test/relation_test.rb
141
130
  - test/test_helper.rb
131
+ - test/view_test.rb
142
132
  homepage: https://github.com/mmontossi/pagers
143
133
  licenses:
144
134
  - MIT
@@ -151,7 +141,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
151
141
  requirements:
152
142
  - - ">="
153
143
  - !ruby/object:Gem::Version
154
- version: 1.9.3
144
+ version: 2.1.0
155
145
  required_rubygems_version: !ruby/object:Gem::Requirement
156
146
  requirements:
157
147
  - - ">="
@@ -159,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
159
149
  version: '0'
160
150
  requirements: []
161
151
  rubyforge_project:
162
- rubygems_version: 2.4.5
152
+ rubygems_version: 2.5.1
163
153
  signing_key:
164
154
  specification_version: 4
165
155
  summary: Pagers for rails.
@@ -167,73 +157,62 @@ test_files:
167
157
  - test/dummy/app/assets/javascripts/application.js
168
158
  - test/dummy/app/assets/stylesheets/application.css
169
159
  - test/dummy/app/controllers/application_controller.rb
170
- - test/dummy/app/controllers/pages_controller.rb
160
+ - test/dummy/app/controllers/products_controller.rb
171
161
  - test/dummy/app/helpers/application_helper.rb
172
- - test/dummy/app/models/record.rb
162
+ - test/dummy/app/models/product.rb
173
163
  - test/dummy/app/views/layouts/application.html.erb
174
- - test/dummy/app/views/pages/index.html.erb
164
+ - test/dummy/app/views/products/index.html.erb
175
165
  - test/dummy/bin/bundle
176
166
  - test/dummy/bin/rails
177
167
  - test/dummy/bin/rake
168
+ - test/dummy/bin/setup
178
169
  - test/dummy/config/application.rb
179
170
  - test/dummy/config/boot.rb
180
171
  - test/dummy/config/database.yml
172
+ - test/dummy/config/database.yml.travis
181
173
  - test/dummy/config/environment.rb
182
174
  - test/dummy/config/environments/development.rb
183
175
  - test/dummy/config/environments/production.rb
184
176
  - test/dummy/config/environments/test.rb
177
+ - test/dummy/config/initializers/assets.rb
185
178
  - test/dummy/config/initializers/backtrace_silencers.rb
179
+ - test/dummy/config/initializers/cookies_serializer.rb
186
180
  - test/dummy/config/initializers/filter_parameter_logging.rb
187
181
  - test/dummy/config/initializers/inflections.rb
188
182
  - test/dummy/config/initializers/mime_types.rb
189
- - test/dummy/config/initializers/secret_token.rb
183
+ - test/dummy/config/initializers/pagers.rb
190
184
  - test/dummy/config/initializers/session_store.rb
191
185
  - test/dummy/config/initializers/wrap_parameters.rb
192
186
  - test/dummy/config/locales/en.yml
193
187
  - test/dummy/config/routes.rb
188
+ - test/dummy/config/secrets.yml
194
189
  - test/dummy/config.ru
195
- - test/dummy/db/migrate/20130820024335_create_records.rb
190
+ - test/dummy/db/migrate/20130820024335_create_products.rb
196
191
  - test/dummy/db/schema.rb
192
+ - test/dummy/log/development.log
197
193
  - test/dummy/log/test.log
198
194
  - test/dummy/public/404.html
199
195
  - test/dummy/public/422.html
200
196
  - test/dummy/public/500.html
201
197
  - test/dummy/public/favicon.ico
202
198
  - test/dummy/Rakefile
203
- - test/dummy/README.rdoc
204
- - test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705
205
- - test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af
206
- - test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953
207
- - test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994
208
- - test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6
209
- - test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
210
- - test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
211
- - test/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
212
- - test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
213
- - test/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
214
- - test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
215
- - test/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
216
- - test/dummy/tmp/cache/sprockets/v3.0/4CacREYU-WtfLMBbdP-dhQGvv5x5m64f08AyEfpJQOo.cache
217
- - test/dummy/tmp/cache/sprockets/v3.0/4qi4l6mZwh9hUfWOWITw6FuJ15NRpPcIgJ22C20Yrhw.cache
218
- - test/dummy/tmp/cache/sprockets/v3.0/92EHsdop8I2qLLTnyIPHKsBjC79WjGLaG37jVJyQVhk.cache
219
- - test/dummy/tmp/cache/sprockets/v3.0/_Ncty4f5wW4Cr2m5RgKKk4M1vjFREhRT4rNNa3xudJk.cache
220
- - test/dummy/tmp/cache/sprockets/v3.0/aN14MzsGXl0Y-OLjTiDPq1Q4JIyN7HL8WxyvnCmR15s.cache
221
- - test/dummy/tmp/cache/sprockets/v3.0/bK7xK7GDY9-6iymHURf47UyKHbhI_XkIoXheTZIkob8.cache
222
- - test/dummy/tmp/cache/sprockets/v3.0/EWvcaZ9y1ATwOV77WPqF6MOVajQDzmhssysEljgt9Eo.cache
223
- - test/dummy/tmp/cache/sprockets/v3.0/hj8Ir9wcVSy1KYrnWu9bpD24vDhCG3tvt-nKbNxb1Wg.cache
224
- - test/dummy/tmp/cache/sprockets/v3.0/IXhyhrFX9OAFbL6na95F8HncYlwJm9_DdZx3OGTlvjk.cache
225
- - test/dummy/tmp/cache/sprockets/v3.0/Ko7VnYzTp2dC_WWnmGeCA4HQFz0DP4BhGt3lwlHhHi8.cache
226
- - test/dummy/tmp/cache/sprockets/v3.0/LhsrcVSJd1rOgmBlzouy8hNPVwxmPKoQ-Gas3gSxTkI.cache
227
- - test/dummy/tmp/cache/sprockets/v3.0/oCsZTGZyV4kH8Y4OeSDUdrwfkJFPzTODZjuBKZB8oGQ.cache
228
- - test/dummy/tmp/cache/sprockets/v3.0/pwlpdo053gu3Fg6oen1pnE9oV9ErbgrDW0VbKPLs098.cache
229
- - test/dummy/tmp/cache/sprockets/v3.0/q6BYa32YJF11eGVapO4ouNl6gayPIsARgMavlzZmoi0.cache
230
- - test/dummy/tmp/cache/sprockets/v3.0/V69Dt-aUrVqv_nmsS1zbhdjuZiJYjFhnrydvD2K2GUM.cache
231
- - test/dummy/tmp/cache/sprockets/v3.0/x7KkTV3ibfIEysLB_ug5bfmnn2VLV_BldukPR3EoPBk.cache
232
- - test/empty_test.rb
233
- - test/first_test.rb
199
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/34/34l0xNON3WYrRP9HWkz5ZK9IQzIEVGYFn6VDMKiheeA.cache
200
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/5L/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache
201
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/fG/fG_uaNK13wisQiji91xNsGecGxX9QhMCF2eSX_aR0G0.cache
202
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/gb/gbunrAFVOHPwl2npUgKv_C3f_qiJnZDd9zG5-h3jrpo.cache
203
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/hZ/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache
204
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/mv/mvqN6PphkrOOC8zbUEhpC_9E_4ybdO25MRy_gG6dq3Y.cache
205
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/nm/nmcUZlKAIwyJ_35Nm9P8pukLeRX5aApP6NFj5MpNPgc.cache
206
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/OI/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache
207
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/pE/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache
208
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/sB/sB6xWxBmgzVC0Co9__ANYrE58lr4WPwiwFa9mswooWM.cache
209
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/SG/SGNGr7AZfBE1q7ev2-YM1G-o0XAZ0pKqbsS3NvHtRcA.cache
210
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/TO/TOCwj3wVkgMFleFRO8KMLE3Qq6FsXpCeZD56U1AEPEc.cache
211
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/va/vaNrIny9hchHD9eIJxAicyYLC7qeV4PTh4Nh40_Y6Vg.cache
212
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/xd/xdBKQyhEAlDIstGvXw945PWJoEWi23rKuY7elOcWqHc.cache
213
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/yH/yHjEG5b89-DY37A9c_d90xiOarCQ4bJHa-i98W72DXI.cache
214
+ - test/dummy/tmp/cache/assets/sprockets/v3.0/YJ/YJjzVvL4dd5E1S5fIpCphDLf9mEWeGfhO-ALTZpJ8-c.cache
234
215
  - test/generator_test.rb
235
- - test/last_test.rb
236
- - test/middle_test.rb
237
- - test/padding_test.rb
238
- - test/route_test.rb
216
+ - test/relation_test.rb
239
217
  - test/test_helper.rb
218
+ - test/view_test.rb
@@ -1,13 +0,0 @@
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
@@ -1,2 +0,0 @@
1
- Pagers.configure do |config|
2
- end
@@ -1,40 +0,0 @@
1
- module Pagers
2
- module ActionView
3
- module Base
4
- extend ActiveSupport::Concern
5
-
6
- def page_path(page, options={})
7
- parameter = options[:parameter] || Pagers.config.parameter
8
- url_for request.query_parameters.merge(parameter => page, only_path: true)
9
- end
10
-
11
- def paginate(collection, options={})
12
- pages = options[:pages] || Pagers.config.pages
13
- if collection.total_pages >= pages
14
- middle = (pages / 2).ceil
15
- if collection.current_page > (collection.total_pages - middle)
16
- starts_at = collection.total_pages - pages + 1
17
- ends_at = collection.total_pages
18
- elsif collection.current_page <= middle
19
- starts_at = 1
20
- ends_at = pages
21
- else
22
- starts_at = collection.current_page - middle
23
- ends_at = collection.current_page + middle
24
- end
25
- else
26
- starts_at = 1
27
- ends_at = collection.total_pages
28
- end
29
- render partial: 'pagers/main', locals: {
30
- collection: collection,
31
- options: options,
32
- pages: Range.new(starts_at, ends_at),
33
- less_pages: starts_at > 1,
34
- more_pages: ends_at < collection.total_pages
35
- }
36
- end
37
-
38
- end
39
- end
40
- end
@@ -1,37 +0,0 @@
1
- module Pagers
2
- module ActiveRecord
3
- module Base
4
- extend ActiveSupport::Concern
5
- module ClassMethods
6
-
7
- def inherited(subclass)
8
- subclass.class_eval do
9
- if superclass == ::ActiveRecord::Base
10
- scope :page, ->(number, options={}) {
11
- length = (options[:length] || Pagers.config[:length])
12
- padding = (options[:padding] || Pagers.config[:padding])
13
- current_page = [number.to_i, 1].max
14
- offset_value = (length * (current_page - 1)) + padding
15
- limit_value = length
16
- values = Module.new do
17
- define_method :padding do
18
- padding
19
- end
20
- define_method :page_length do
21
- length
22
- end
23
- define_method :current_page do
24
- current_page
25
- end
26
- end
27
- limit(limit_value).offset(offset_value).extending(Pagers::ActiveRecord::Relation, values)
28
- }
29
- end
30
- end
31
- super
32
- end
33
-
34
- end
35
- end
36
- end
37
- end