kaminari 0.14.1 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +19 -0
  3. data/.document +1 -4
  4. data/.gitignore +2 -1
  5. data/.travis.yml +91 -10
  6. data/CHANGELOG.md +636 -0
  7. data/CONTRIBUTING.md +22 -0
  8. data/Gemfile +3 -1
  9. data/README.md +573 -0
  10. data/Rakefile +43 -20
  11. data/gemfiles/active_record_41.gemfile +28 -0
  12. data/gemfiles/active_record_42.gemfile +28 -0
  13. data/gemfiles/active_record_50.gemfile +24 -0
  14. data/gemfiles/active_record_51.gemfile +24 -0
  15. data/gemfiles/active_record_52.gemfile +24 -0
  16. data/gemfiles/active_record_60.gemfile +26 -0
  17. data/gemfiles/active_record_edge.gemfile +33 -0
  18. data/kaminari.gemspec +23 -28
  19. data/lib/kaminari/version.rb +3 -1
  20. data/lib/kaminari.rb +4 -37
  21. data/misc/bug_report_template.rb +57 -0
  22. metadata +67 -229
  23. data/.gemtest +0 -0
  24. data/.rspec +0 -2
  25. data/CHANGELOG +0 -351
  26. data/README.rdoc +0 -295
  27. data/app/views/kaminari/_first_page.html.erb +0 -11
  28. data/app/views/kaminari/_first_page.html.haml +0 -9
  29. data/app/views/kaminari/_first_page.html.slim +0 -10
  30. data/app/views/kaminari/_gap.html.erb +0 -8
  31. data/app/views/kaminari/_gap.html.haml +0 -8
  32. data/app/views/kaminari/_gap.html.slim +0 -9
  33. data/app/views/kaminari/_last_page.html.erb +0 -11
  34. data/app/views/kaminari/_last_page.html.haml +0 -9
  35. data/app/views/kaminari/_last_page.html.slim +0 -10
  36. data/app/views/kaminari/_next_page.html.erb +0 -11
  37. data/app/views/kaminari/_next_page.html.haml +0 -9
  38. data/app/views/kaminari/_next_page.html.slim +0 -10
  39. data/app/views/kaminari/_page.html.erb +0 -12
  40. data/app/views/kaminari/_page.html.haml +0 -10
  41. data/app/views/kaminari/_page.html.slim +0 -11
  42. data/app/views/kaminari/_paginator.html.erb +0 -23
  43. data/app/views/kaminari/_paginator.html.haml +0 -18
  44. data/app/views/kaminari/_paginator.html.slim +0 -19
  45. data/app/views/kaminari/_prev_page.html.erb +0 -11
  46. data/app/views/kaminari/_prev_page.html.haml +0 -9
  47. data/app/views/kaminari/_prev_page.html.slim +0 -10
  48. data/config/locales/kaminari.yml +0 -19
  49. data/gemfiles/active_record_30.gemfile +0 -7
  50. data/gemfiles/active_record_31.gemfile +0 -7
  51. data/gemfiles/active_record_32.gemfile +0 -7
  52. data/gemfiles/data_mapper_12.gemfile +0 -12
  53. data/gemfiles/mongo_mapper.gemfile +0 -7
  54. data/gemfiles/mongoid_24.gemfile +0 -7
  55. data/gemfiles/mongoid_30.gemfile +0 -7
  56. data/gemfiles/sinatra.gemfile +0 -10
  57. data/lib/generators/kaminari/config_generator.rb +0 -16
  58. data/lib/generators/kaminari/templates/kaminari_config.rb +0 -10
  59. data/lib/generators/kaminari/views_generator.rb +0 -118
  60. data/lib/kaminari/config.rb +0 -49
  61. data/lib/kaminari/engine.rb +0 -4
  62. data/lib/kaminari/grape.rb +0 -4
  63. data/lib/kaminari/helpers/action_view_extension.rb +0 -151
  64. data/lib/kaminari/helpers/paginator.rb +0 -175
  65. data/lib/kaminari/helpers/sinatra_helpers.rb +0 -138
  66. data/lib/kaminari/helpers/tags.rb +0 -95
  67. data/lib/kaminari/hooks.rb +0 -37
  68. data/lib/kaminari/models/active_record_extension.rb +0 -22
  69. data/lib/kaminari/models/active_record_model_extension.rb +0 -20
  70. data/lib/kaminari/models/active_record_relation_methods.rb +0 -31
  71. data/lib/kaminari/models/array_extension.rb +0 -60
  72. data/lib/kaminari/models/configuration_methods.rb +0 -34
  73. data/lib/kaminari/models/data_mapper_collection_methods.rb +0 -15
  74. data/lib/kaminari/models/data_mapper_extension.rb +0 -48
  75. data/lib/kaminari/models/mongo_mapper_extension.rb +0 -18
  76. data/lib/kaminari/models/mongoid_criteria_methods.rb +0 -23
  77. data/lib/kaminari/models/mongoid_extension.rb +0 -33
  78. data/lib/kaminari/models/page_scope_methods.rb +0 -41
  79. data/lib/kaminari/models/plucky_criteria_methods.rb +0 -18
  80. data/lib/kaminari/railtie.rb +0 -7
  81. data/lib/kaminari/sinatra.rb +0 -5
  82. data/spec/config/config_spec.rb +0 -76
  83. data/spec/fake_app/active_record/config.rb +0 -3
  84. data/spec/fake_app/active_record/models.rb +0 -57
  85. data/spec/fake_app/data_mapper/config.rb +0 -1
  86. data/spec/fake_app/data_mapper/models.rb +0 -27
  87. data/spec/fake_app/mongo_mapper/config.rb +0 -2
  88. data/spec/fake_app/mongo_mapper/models.rb +0 -9
  89. data/spec/fake_app/mongoid/config.rb +0 -16
  90. data/spec/fake_app/mongoid/models.rb +0 -22
  91. data/spec/fake_app/rails_app.rb +0 -55
  92. data/spec/fake_app/sinatra_app.rb +0 -22
  93. data/spec/fake_gem.rb +0 -4
  94. data/spec/helpers/action_view_extension_spec.rb +0 -262
  95. data/spec/helpers/helpers_spec.rb +0 -135
  96. data/spec/helpers/sinatra_helpers_spec.rb +0 -170
  97. data/spec/helpers/tags_spec.rb +0 -140
  98. data/spec/models/active_record/active_record_relation_methods_spec.rb +0 -30
  99. data/spec/models/active_record/default_per_page_spec.rb +0 -32
  100. data/spec/models/active_record/max_per_page_spec.rb +0 -32
  101. data/spec/models/active_record/scopes_spec.rb +0 -166
  102. data/spec/models/array_spec.rb +0 -121
  103. data/spec/models/data_mapper/data_mapper_spec.rb +0 -155
  104. data/spec/models/mongo_mapper/mongo_mapper_spec.rb +0 -72
  105. data/spec/models/mongoid/mongoid_spec.rb +0 -110
  106. data/spec/requests/users_spec.rb +0 -53
  107. data/spec/spec_helper.rb +0 -32
  108. data/spec/spec_helper_for_sinatra.rb +0 -35
  109. data/spec/support/database_cleaner.rb +0 -16
  110. data/spec/support/matchers.rb +0 -52
@@ -0,0 +1,28 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'railties', '~> 4.2.0'
4
+ gem 'activerecord', '~> 4.2.0', require: 'active_record'
5
+
6
+ platforms :ruby do
7
+ if RUBY_VERSION > "2.1.0"
8
+ gem 'sqlite3', '~> 1.3.13', require: false
9
+ else
10
+ gem 'sqlite3', '1.3.8', require: false
11
+ gem 'nokogiri', '~> 1.6.8'
12
+ end
13
+ gem 'pg', '< 1.0.0', require: false
14
+ gem 'mysql2', '< 0.4', require: false
15
+ end
16
+ platforms :jruby do
17
+ gem 'activerecord-jdbcsqlite3-adapter', require: false
18
+ gem 'activerecord-jdbcpostgresql-adapter', require: false
19
+ gem 'activerecord-jdbcmysql-adapter', require: false
20
+ end
21
+ platforms :rbx do
22
+ gem 'rubysl', '~> 2.0'
23
+ gem 'racc'
24
+ gem 'minitest'
25
+ gem 'rubinius-developer_tools'
26
+ end
27
+
28
+ gemspec path: '../'
@@ -0,0 +1,24 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'railties', '~> 5.0.0'
4
+ gem 'activerecord', '~> 5.0.0', require: 'active_record'
5
+ gem 'actionview', '~> 5.0.0', require: 'action_view'
6
+
7
+ platforms :ruby do
8
+ gem 'sqlite3', '~> 1.3.13', require: false
9
+ gem 'pg', '< 1.0.0', require: false
10
+ gem 'mysql2', require: false
11
+ end
12
+ platforms :jruby do
13
+ gem 'activerecord-jdbcsqlite3-adapter', require: false
14
+ gem 'activerecord-jdbcpostgresql-adapter', require: false
15
+ gem 'activerecord-jdbcmysql-adapter', require: false
16
+ end
17
+ platforms :rbx do
18
+ gem 'rubysl', '~> 2.0'
19
+ gem 'racc'
20
+ gem 'minitest'
21
+ gem 'rubinius-developer_tools'
22
+ end
23
+
24
+ gemspec path: '../'
@@ -0,0 +1,24 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'railties', '~> 5.1.0'
4
+ gem 'activerecord', '~> 5.1.0', require: 'active_record'
5
+ gem 'actionview', '~> 5.1.0', require: 'action_view'
6
+
7
+ platforms :ruby do
8
+ gem 'sqlite3', '~> 1.3.13', require: false
9
+ gem 'pg', require: false
10
+ gem 'mysql2', require: false
11
+ end
12
+ platforms :jruby do
13
+ gem 'activerecord-jdbcsqlite3-adapter', require: false
14
+ gem 'activerecord-jdbcpostgresql-adapter', require: false
15
+ gem 'activerecord-jdbcmysql-adapter', require: false
16
+ end
17
+ platforms :rbx do
18
+ gem 'rubysl', '~> 2.0'
19
+ gem 'racc'
20
+ gem 'minitest'
21
+ gem 'rubinius-developer_tools'
22
+ end
23
+
24
+ gemspec path: '../'
@@ -0,0 +1,24 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'railties', '~> 5.2.0'
4
+ gem 'activerecord', '~> 5.2.0', require: 'active_record'
5
+ gem 'actionview', '~> 5.2.0', require: 'action_view'
6
+
7
+ platforms :ruby do
8
+ gem 'sqlite3', '~> 1.3.13', require: false
9
+ gem 'pg', require: false
10
+ gem 'mysql2', require: false
11
+ end
12
+ platforms :jruby do
13
+ gem 'activerecord-jdbcsqlite3-adapter', require: false
14
+ gem 'activerecord-jdbcpostgresql-adapter', require: false
15
+ gem 'activerecord-jdbcmysql-adapter', require: false
16
+ end
17
+ platforms :rbx do
18
+ gem 'rubysl', '~> 2.0'
19
+ gem 'racc'
20
+ gem 'minitest'
21
+ gem 'rubinius-developer_tools'
22
+ end
23
+
24
+ gemspec path: '../'
@@ -0,0 +1,26 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'railties', '~> 6.0.0'
4
+ gem 'activerecord', '~> 6.0.0', require: 'active_record'
5
+ gem 'actionview', '~> 6.0.0', require: 'action_view'
6
+
7
+ gem 'selenium-webdriver'
8
+
9
+ platforms :ruby do
10
+ gem 'sqlite3', require: false
11
+ gem 'pg', require: false
12
+ gem 'mysql2', require: false
13
+ end
14
+ platforms :jruby do
15
+ gem 'activerecord-jdbcsqlite3-adapter', '>= 1.3.0'
16
+ gem 'activerecord-jdbcpostgresql-adapter', require: false
17
+ gem 'activerecord-jdbcmysql-adapter', require: false
18
+ end
19
+ platforms :rbx do
20
+ gem 'rubysl', '~> 2.0'
21
+ gem 'racc'
22
+ gem 'minitest'
23
+ gem 'rubinius-developer_tools'
24
+ end
25
+
26
+ gemspec path: '../'
@@ -0,0 +1,33 @@
1
+ source 'https://rubygems.org'
2
+
3
+ git_source(:github) do |repo_name|
4
+ repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
5
+ "https://github.com/#{repo_name}.git"
6
+ end
7
+
8
+ github 'rails/rails' do
9
+ gem 'railties'
10
+ gem 'activerecord', require: 'active_record'
11
+ gem 'actionview', require: 'action_view'
12
+ end
13
+
14
+ gem 'selenium-webdriver'
15
+
16
+ platforms :ruby do
17
+ gem 'sqlite3', require: false
18
+ gem 'pg', require: false
19
+ gem 'mysql2', require: false
20
+ end
21
+ platforms :jruby do
22
+ gem 'activerecord-jdbcsqlite3-adapter', '>= 1.3.0'
23
+ gem 'activerecord-jdbcpostgresql-adapter', require: false
24
+ gem 'activerecord-jdbcmysql-adapter', require: false
25
+ end
26
+ platforms :rbx do
27
+ gem 'rubysl', '~> 2.0'
28
+ gem 'racc'
29
+ gem 'minitest'
30
+ gem 'rubinius-developer_tools'
31
+ end
32
+
33
+ gemspec path: '../'
data/kaminari.gemspec CHANGED
@@ -1,36 +1,31 @@
1
- # -*- encoding: utf-8 -*-
1
+ # frozen_string_literal: true
2
+
2
3
  $:.push File.expand_path("../lib", __FILE__)
3
4
  require "kaminari/version"
4
5
 
5
- Gem::Specification.new do |s|
6
- s.name = 'kaminari'
7
- s.version = Kaminari::VERSION
8
- s.platform = Gem::Platform::RUBY
9
- s.authors = ['Akira Matsuda']
10
- s.email = ['ronnie@dio.jp']
11
- s.homepage = 'https://github.com/amatsuda/kaminari'
12
- s.summary = 'A pagination engine plugin for Rails 3 or other modern frameworks'
13
- s.description = 'Kaminari is a Scope & Engine based, clean, powerful, agnostic, customizable and sophisticated paginator for Rails 3'
14
-
15
- s.rubyforge_project = 'kaminari'
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'kaminari'
8
+ spec.version = Kaminari::VERSION
9
+ spec.authors = ['Akira Matsuda', 'Yuki Nishijima', 'Zachary Scott', 'Hiroshi Shibata']
10
+ spec.email = ['ronnie@dio.jp']
11
+ spec.homepage = 'https://github.com/kaminari/kaminari'
12
+ spec.summary = 'A pagination engine plugin for Rails 4+ and other modern frameworks'
13
+ spec.description = 'Kaminari is a Scope & Engine based, clean, powerful, agnostic, customizable and sophisticated paginator for Rails 4+'
14
+ spec.license = "MIT"
16
15
 
17
- s.files = `git ls-files`.split("\n")
18
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
- s.extra_rdoc_files = ['README.rdoc']
20
- s.require_paths = ['lib']
16
+ spec.files = `git ls-files | egrep -v 'kaminari-(core|actionview|activerecord)' | grep -v '^test'`.split("\n")
17
+ spec.require_paths = ['lib']
21
18
 
22
- s.licenses = ['MIT']
19
+ spec.required_ruby_version = '>= 2.0.0'
23
20
 
24
- s.add_dependency 'activesupport', ['>= 3.0.0']
25
- s.add_dependency 'actionpack', ['>= 3.0.0']
21
+ spec.add_dependency 'activesupport', '>= 4.1.0'
22
+ spec.add_dependency 'kaminari-core', Kaminari::VERSION
23
+ spec.add_dependency 'kaminari-actionview', Kaminari::VERSION
24
+ spec.add_dependency 'kaminari-activerecord', Kaminari::VERSION
26
25
 
27
- s.add_development_dependency 'bundler', ['>= 1.0.0']
28
- s.add_development_dependency 'rake', ['>= 0']
29
- s.add_development_dependency 'sqlite3', ['>= 0']
30
- s.add_development_dependency 'tzinfo', ['>= 0']
31
- s.add_development_dependency 'rspec', ['>= 0']
32
- s.add_development_dependency 'rr', ['>= 0']
33
- s.add_development_dependency 'capybara', ['>= 1.0']
34
- s.add_development_dependency 'database_cleaner', ['>= 0']
35
- s.add_development_dependency 'rdoc', ['>= 0']
26
+ spec.add_development_dependency 'test-unit-rails'
27
+ spec.add_development_dependency 'bundler', '>= 1.0.0'
28
+ spec.add_development_dependency 'rake', '>= 0'
29
+ spec.add_development_dependency 'rr', '>= 0'
30
+ spec.add_development_dependency 'capybara', '>= 1.0'
36
31
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Kaminari
2
- VERSION = '0.14.1'
4
+ VERSION = '1.2.1'
3
5
  end
data/lib/kaminari.rb CHANGED
@@ -1,38 +1,5 @@
1
- module Kaminari
2
- end
1
+ # frozen_string_literal: true
3
2
 
4
- # load Rails/Railtie
5
- begin
6
- require 'rails'
7
- rescue LoadError
8
- #do nothing
9
- end
10
-
11
- $stderr.puts <<-EOC if !defined?(Rails) && !defined?(Sinatra) && !defined?(Grape)
12
- warning: no framework detected.
13
- would you check out if your Gemfile appropriately configured?
14
- ---- e.g. ----
15
- when Rails:
16
- gem 'kaminari'
17
-
18
- when Sinatra/Padrino:
19
- gem 'kaminari', :require => 'kaminari/sinatra'
20
-
21
- when Grape:
22
- gem 'kaminari', :require => 'kaminari/grape'
23
-
24
- EOC
25
-
26
- # load Kaminari components
27
- require 'kaminari/config'
28
- require 'kaminari/helpers/action_view_extension'
29
- require 'kaminari/helpers/paginator'
30
- require 'kaminari/models/page_scope_methods'
31
- require 'kaminari/models/configuration_methods'
32
- require 'kaminari/hooks'
33
-
34
- # if not using Railtie, call `Kaminari::Hooks.init` directly
35
- if defined? Rails
36
- require 'kaminari/railtie'
37
- require 'kaminari/engine'
38
- end
3
+ require 'kaminari/core'
4
+ require 'kaminari/actionview'
5
+ require 'kaminari/activerecord'
@@ -0,0 +1,57 @@
1
+ begin
2
+ require "bundler/inline"
3
+ rescue LoadError => e
4
+ $stderr.puts "Bundler version 1.10 or later is required. Please update your Bundler"
5
+ raise e
6
+ end
7
+
8
+ gemfile(true) do
9
+ source "https://rubygems.org"
10
+ # Activate the gem you are reporting the issue against.
11
+ gem "railties", "5.0.1"
12
+ gem "activerecord", "5.0.1"
13
+ gem "sqlite3"
14
+ gem "kaminari-core"
15
+ gem "kaminari-activerecord"
16
+ end
17
+
18
+ require "active_record"
19
+ require "minitest/autorun"
20
+ require "logger"
21
+
22
+ require "kaminari/core"
23
+ require "kaminari/activerecord"
24
+
25
+ # Ensure backward compatibility with Minitest 4
26
+ Minitest::Test = MiniTest::Unit::TestCase unless defined?(Minitest::Test)
27
+
28
+ # This connection will do for database-independent bug reports.
29
+ ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: ":memory:")
30
+ ActiveRecord::Base.logger = Logger.new(STDOUT)
31
+
32
+ ActiveRecord::Schema.define do
33
+ create_table :posts, force: true do |t|
34
+ end
35
+
36
+ create_table :comments, force: true do |t|
37
+ t.integer :post_id
38
+ end
39
+ end
40
+
41
+ class Post < ActiveRecord::Base
42
+ has_many :comments
43
+ end
44
+
45
+ class Comment < ActiveRecord::Base
46
+ belongs_to :post
47
+ end
48
+
49
+ class BugTest < Minitest::Test
50
+ def test_pagination_stuff
51
+ post = Post.create!
52
+ post.comments << Comment.create!
53
+
54
+ assert_equal 1, Post.page(1).total_count
55
+ assert_equal 1, post.reload.comments.page(1).total_count
56
+ end
57
+ end