pagers 3.0.3 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/generators/pagers/install_generator.rb +13 -0
- data/lib/generators/pagers/templates/pagers.rb +2 -0
- data/lib/pagers/action_view/base.rb +3 -3
- data/lib/pagers/active_record/base.rb +2 -2
- data/lib/pagers/railtie.rb +0 -6
- data/lib/pagers/version.rb +1 -1
- data/lib/pagers.rb +18 -0
- data/test/dummy/app/controllers/pages_controller.rb +1 -1
- data/test/dummy/app/models/record.rb +2 -0
- data/test/dummy/config/routes.rb +0 -3
- data/test/dummy/db/migrate/{20130820024335_create_models.rb → 20130820024335_create_records.rb} +1 -1
- data/test/dummy/db/schema.rb +1 -1
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +24 -0
- data/test/dummy/log/test.log +45976 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/empty_test.rb +9 -9
- data/test/first_test.rb +10 -10
- data/test/generator_test.rb +18 -0
- data/test/last_test.rb +10 -10
- data/test/middle_test.rb +10 -10
- data/test/padding_test.rb +5 -37
- data/test/route_test.rb +37 -0
- metadata +24 -9
- data/README.rdoc +0 -40
- data/test/dummy/app/models/model.rb +0 -2
- data/test/dummy/db/development.sqlite3 +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 724e7f6b146b6719a0b7738c3d7ec5779ea40d48
|
4
|
+
data.tar.gz: f2330ed5b923978d163599b69850651d6936b378
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
@@ -4,12 +4,12 @@ module Pagers
|
|
4
4
|
extend ActiveSupport::Concern
|
5
5
|
|
6
6
|
def page_path(page, options={})
|
7
|
-
parameter = options[:parameter] ||
|
8
|
-
|
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] ||
|
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] ||
|
12
|
-
padding = options[: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
|
data/lib/pagers/railtie.rb
CHANGED
@@ -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
|
data/lib/pagers/version.rb
CHANGED
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
|
data/test/dummy/config/routes.rb
CHANGED
data/test/dummy/db/schema.rb
CHANGED
data/test/dummy/db/test.sqlite3
CHANGED
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
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.5ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
1278
|
+
Processing by PagesController#index as HTML
|
1279
|
+
[1m[35m (0.4ms)[0m 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
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
1293
|
+
Processing by PagesController#index as HTML
|
1294
|
+
[1m[35m (0.1ms)[0m 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)
|