pagers 3.1.5 → 4.0.0.0

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