zhanghd_kaminari 0.10.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. data/.document +5 -0
  2. data/.gemtest +0 -0
  3. data/.rspec +2 -0
  4. data/CHANGELOG +159 -0
  5. data/Gemfile +30 -0
  6. data/Gemfile.lock +141 -0
  7. data/LICENSE.txt +20 -0
  8. data/README.rdoc +177 -0
  9. data/Rakefile +57 -0
  10. data/VERSION +1 -0
  11. data/app/views/kaminari/_current_page.html.erb +9 -0
  12. data/app/views/kaminari/_current_page.html.haml +9 -0
  13. data/app/views/kaminari/_first_page_link.html.erb +12 -0
  14. data/app/views/kaminari/_first_page_link.html.haml +10 -0
  15. data/app/views/kaminari/_last_page_link.html.erb +12 -0
  16. data/app/views/kaminari/_last_page_link.html.haml +10 -0
  17. data/app/views/kaminari/_next_link.html.erb +11 -0
  18. data/app/views/kaminari/_next_link.html.haml +9 -0
  19. data/app/views/kaminari/_next_span.html.erb +8 -0
  20. data/app/views/kaminari/_next_span.html.haml +7 -0
  21. data/app/views/kaminari/_page_link.html.erb +12 -0
  22. data/app/views/kaminari/_page_link.html.haml +10 -0
  23. data/app/views/kaminari/_paginator.html.erb +29 -0
  24. data/app/views/kaminari/_paginator.html.haml +23 -0
  25. data/app/views/kaminari/_prev_link.html.erb +11 -0
  26. data/app/views/kaminari/_prev_link.html.haml +9 -0
  27. data/app/views/kaminari/_prev_span.html.erb +8 -0
  28. data/app/views/kaminari/_prev_span.html.haml +7 -0
  29. data/app/views/kaminari/_truncated_span.html.erb +8 -0
  30. data/app/views/kaminari/_truncated_span.html.haml +8 -0
  31. data/config/locales/kaminari.yml +8 -0
  32. data/kaminari.gemspec +152 -0
  33. data/lib/generators/kaminari/views_generator.rb +99 -0
  34. data/lib/kaminari.rb +2 -0
  35. data/lib/kaminari/engine.rb +4 -0
  36. data/lib/kaminari/helpers/action_view_extension.rb +25 -0
  37. data/lib/kaminari/helpers/helpers.rb +75 -0
  38. data/lib/kaminari/helpers/tags.rb +263 -0
  39. data/lib/kaminari/models/active_record_extension.rb +32 -0
  40. data/lib/kaminari/models/active_record_relation_methods.rb +12 -0
  41. data/lib/kaminari/models/array_paginate_extension.rb +17 -0
  42. data/lib/kaminari/models/configuration_methods.rb +20 -0
  43. data/lib/kaminari/models/mongoid_criteria_methods.rb +18 -0
  44. data/lib/kaminari/models/mongoid_extension.rb +30 -0
  45. data/lib/kaminari/models/page_scope_methods.rb +26 -0
  46. data/lib/kaminari/railtie.rb +34 -0
  47. data/spec/acceptance/acceptance_helper.rb +5 -0
  48. data/spec/acceptance/support/helpers.rb +5 -0
  49. data/spec/acceptance/support/paths.rb +9 -0
  50. data/spec/acceptance/users_spec.rb +44 -0
  51. data/spec/fake_app.rb +48 -0
  52. data/spec/helpers/helpers_spec.rb +126 -0
  53. data/spec/helpers/tags_spec.rb +158 -0
  54. data/spec/models/default_per_page_spec.rb +29 -0
  55. data/spec/models/mongoid_spec.rb +72 -0
  56. data/spec/models/scopes_spec.rb +109 -0
  57. data/spec/spec_helper.rb +27 -0
  58. data/spec/support/matchers.rb +46 -0
  59. metadata +344 -0
data/Rakefile ADDED
@@ -0,0 +1,57 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ require 'rake'
13
+
14
+ require 'jeweler'
15
+ Jeweler::Tasks.new do |gem|
16
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
+ gem.name = "zhanghd_kaminari"
18
+ gem.version = "0.10.4.1"
19
+ gem.homepage = "https://github.com/ZhangHanDong/kaminari"
20
+ gem.license = "MIT"
21
+ gem.summary = 'A pagination engine plugin for Rails 3'
22
+ gem.description = 'Kaminari is a Scope & Engine based, clean, powerful, customizable and sophisticated paginator for Rails 3'
23
+ gem.email = "ronnie@dio.jp"
24
+ gem.authors = ["Akira Matsuda"]
25
+ # Include your dependencies below. Runtime dependencies are required when using your gem,
26
+ # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
27
+ gem.add_runtime_dependency 'rails', '>= 3.0.0'
28
+ # gem.add_development_dependency 'rspec', '> 1.2.3'
29
+ end
30
+ Jeweler::RubygemsDotOrgTasks.new
31
+
32
+ require 'rspec/core'
33
+ require 'rspec/core/rake_task'
34
+ RSpec::Core::RakeTask.new(:spec) do |spec|
35
+ spec.pattern = FileList['spec/**/*_spec.rb']
36
+ end
37
+
38
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
39
+ spec.pattern = 'spec/**/*_spec.rb'
40
+ spec.rcov = true
41
+ end
42
+
43
+ task :default => :spec
44
+
45
+ require 'rake/rdoctask'
46
+ Rake::RDocTask.new do |rdoc|
47
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
48
+
49
+ rdoc.rdoc_dir = 'rdoc'
50
+ rdoc.title = "kaminari #{version}"
51
+ rdoc.rdoc_files.include('README*')
52
+ rdoc.rdoc_files.include('lib/**/*.rb')
53
+ end
54
+
55
+ task :test do
56
+ Rake::Task[:spec].invoke
57
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.10.4
@@ -0,0 +1,9 @@
1
+ <%# The current page
2
+ - available local variables
3
+ page: the page number of this page
4
+ current_page: the page number of currently displayed page
5
+ num_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <span class="page current"><%= page %></span>
@@ -0,0 +1,9 @@
1
+ -# The current page
2
+ - available local variables
3
+ page: the page number of this page
4
+ current_page: the page number of currently displayed page
5
+ num_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ %span.page.current
9
+ = page
@@ -0,0 +1,12 @@
1
+ <%# Link with page number that appears at the leftmost
2
+ - available local variables
3
+ page: the page number of this page
4
+ url: url to this page
5
+ current_page: the page number of currently displayed page
6
+ num_pages: total number of pages
7
+ per_page: number of items to fetch per page
8
+ remote: data-remote
9
+ -%>
10
+ <span class="page first">
11
+ <%= link_to page, url, :remote => remote %>
12
+ </span>
@@ -0,0 +1,10 @@
1
+ -# Link with page number that appears at the leftmost
2
+ - available local variables
3
+ page: the page number of this page
4
+ url: url to this page
5
+ current_page: the page number of currently displayed page
6
+ num_pages: total number of pages
7
+ per_page: number of items to fetch per page
8
+ remote: data-remote
9
+ %span.page.first
10
+ = link_to page, url, :remote => remote
@@ -0,0 +1,12 @@
1
+ <%# Link with page number that appears at the rightmost
2
+ - available local variables
3
+ page: the page number of this page
4
+ url: url to this page
5
+ current_page: the page number of currently displayed page
6
+ num_pages: total number of pages
7
+ per_page: number of items to fetch per page
8
+ remote: data-remote
9
+ -%>
10
+ <span class="page last">
11
+ <%= link_to page, url, :remote => remote %>
12
+ </span>
@@ -0,0 +1,10 @@
1
+ -# Link with page number that appears at the rightmost
2
+ - available local variables
3
+ page: the page number of this page
4
+ url: url to this page
5
+ current_page: the page number of currently displayed page
6
+ num_pages: total number of pages
7
+ per_page: number of items to fetch per page
8
+ remote: data-remote
9
+ %span.page.last
10
+ = link_to page, url, :remote => remote
@@ -0,0 +1,11 @@
1
+ <%# "Next" with link
2
+ - available local variables
3
+ url: url to the next page
4
+ current_page: the page number of currently displayed page
5
+ num_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <span class="next">
10
+ <%= link_to raw(t 'views.pagination.next'), url, :class => 'next', :rel => 'next', :remote => remote %>
11
+ </span>
@@ -0,0 +1,9 @@
1
+ -# "Next" with link
2
+ - available local variables
3
+ url: url to the next page
4
+ current_page: the page number of currently displayed page
5
+ num_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ %span.next
9
+ = link_to raw(t 'views.pagination.next'), url, :class => 'next', :rel => 'next', :remote => remote
@@ -0,0 +1,8 @@
1
+ <%# "Next" without link
2
+ - available local variables
3
+ current_page: the page number of currently displayed page
4
+ num_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ -%>
8
+ <span class="next"></span>
@@ -0,0 +1,7 @@
1
+ -# "Next" without link
2
+ - available local variables
3
+ current_page: the page number of currently displayed page
4
+ num_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ %span.next
@@ -0,0 +1,12 @@
1
+ <%# Link showing page number
2
+ - available local variables
3
+ page: the page number of this page
4
+ url: url to this page
5
+ current_page: the page number of currently displayed page
6
+ num_pages: total number of pages
7
+ per_page: number of items to fetch per page
8
+ remote: data-remote
9
+ -%>
10
+ <span class="page">
11
+ <%= link_to page, url, :remote => remote %>
12
+ </span>
@@ -0,0 +1,10 @@
1
+ -# Link showing page number
2
+ - available local variables
3
+ page: the page number of this page
4
+ url: url to this page
5
+ current_page: the page number of currently displayed page
6
+ num_pages: total number of pages
7
+ per_page: number of items to fetch per page
8
+ remote: data-remote
9
+ %span.page
10
+ = link_to page, url, :remote => remote
@@ -0,0 +1,29 @@
1
+ <%# The container tag
2
+ - available local variables
3
+ current_page: the page number of currently displayed page
4
+ num_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ paginator: the paginator that renders the pagination tags inside
8
+ -%>
9
+ <%= paginator.render do -%>
10
+ <nav class="pagination">
11
+ <%= current_page > 1 ? prev_link_tag : prev_span_tag %>
12
+ <% each_page do |page| -%>
13
+ <% if page.current? -%>
14
+ <%= current_page_tag %>
15
+ <% elsif page.left_outer? || page.right_outer? || page.inside_window? -%>
16
+ <% if page.first? -%>
17
+ <%= first_page_link_tag %>
18
+ <% elsif page.last? -%>
19
+ <%= last_page_link_tag %>
20
+ <% else -%>
21
+ <%= page_link_tag %>
22
+ <% end -%>
23
+ <% elsif !page.was_truncated? -%>
24
+ <%= truncated_span_tag %>
25
+ <% end -%>
26
+ <% end -%>
27
+ <%= num_pages > current_page ? next_link_tag : next_span_tag %>
28
+ </nav>
29
+ <% end -%>
@@ -0,0 +1,23 @@
1
+ -# The container tag
2
+ - available local variables
3
+ current_page: the page number of currently displayed page
4
+ num_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ paginator: the paginator that renders the pagination tags inside
8
+ = paginator.render do
9
+ %nav.pagination
10
+ = current_page > 1 ? prev_link_tag : prev_span_tag
11
+ - each_page do |page|
12
+ - if page.current?
13
+ = current_page_tag
14
+ - elsif page.left_outer? || page.right_outer? || page.inside_window?
15
+ - if page.first?
16
+ = first_page_link_tag
17
+ - elsif page.last?
18
+ = last_page_link_tag
19
+ - else
20
+ = page_link_tag
21
+ - elsif !page.was_truncated?
22
+ = truncated_span_tag
23
+ = num_pages > current_page ? next_link_tag : next_span_tag
@@ -0,0 +1,11 @@
1
+ <%# "Previous" with link
2
+ - available local variables
3
+ url: url to the previous page
4
+ current_page: the page number of currently displayed page
5
+ num_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ -%>
9
+ <span class="prev">
10
+ <%= link_to raw(t 'views.pagination.previous'), url, :class => 'prev', :rel => 'prev', :remote => remote %>
11
+ </span>
@@ -0,0 +1,9 @@
1
+ -# "Previous" with link
2
+ - available local variables
3
+ url: url to the previous page
4
+ current_page: the page number of currently displayed page
5
+ num_pages: total number of pages
6
+ per_page: number of items to fetch per page
7
+ remote: data-remote
8
+ %span.prev
9
+ = link_to raw(t 'views.pagination.previous'), url, :class => 'prev', :rel => 'prev', :remote => remote
@@ -0,0 +1,8 @@
1
+ <%# "Previous" without link
2
+ - available local variables
3
+ current_page: the page number of currently displayed page
4
+ num_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ -%>
8
+ <span class="prev"></span>
@@ -0,0 +1,7 @@
1
+ -# "Previous" without link
2
+ - available local variables
3
+ current_page: the page number of currently displayed page
4
+ num_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ %span.prev
@@ -0,0 +1,8 @@
1
+ <%# Non-link tag that stands for skipped pages...
2
+ - available local variables
3
+ current_page: the page number of currently displayed page
4
+ num_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ -%>
8
+ <span class="page"><%= raw(t 'views.pagination.truncate') %></span>
@@ -0,0 +1,8 @@
1
+ -# Non-link tag that stands for skipped pages...
2
+ - available local variables
3
+ current_page: the page number of currently displayed page
4
+ num_pages: total number of pages
5
+ per_page: number of items to fetch per page
6
+ remote: data-remote
7
+ %span.page
8
+ = raw(t 'views.pagination.truncate')
@@ -0,0 +1,8 @@
1
+ # Sample localization file for Kaminari. You can override these values in your app's locales file if you want.
2
+
3
+ en:
4
+ views:
5
+ pagination:
6
+ previous: "&laquo; Prev"
7
+ next: "Next &raquo;"
8
+ truncate: "..."
data/kaminari.gemspec ADDED
@@ -0,0 +1,152 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{zhanghd_kaminari}
8
+ s.version = "0.10.4.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Akira Matsuda"]
12
+ s.date = %q{2011-03-18}
13
+ s.description = %q{Kaminari is a Scope & Engine based, clean, powerful, customizable and sophisticated paginator for Rails 3}
14
+ s.email = %q{ronnie@dio.jp}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".gemtest",
22
+ ".rspec",
23
+ "CHANGELOG",
24
+ "Gemfile",
25
+ "Gemfile.lock",
26
+ "LICENSE.txt",
27
+ "README.rdoc",
28
+ "Rakefile",
29
+ "VERSION",
30
+ "app/views/kaminari/_current_page.html.erb",
31
+ "app/views/kaminari/_current_page.html.haml",
32
+ "app/views/kaminari/_first_page_link.html.erb",
33
+ "app/views/kaminari/_first_page_link.html.haml",
34
+ "app/views/kaminari/_last_page_link.html.erb",
35
+ "app/views/kaminari/_last_page_link.html.haml",
36
+ "app/views/kaminari/_next_link.html.erb",
37
+ "app/views/kaminari/_next_link.html.haml",
38
+ "app/views/kaminari/_next_span.html.erb",
39
+ "app/views/kaminari/_next_span.html.haml",
40
+ "app/views/kaminari/_page_link.html.erb",
41
+ "app/views/kaminari/_page_link.html.haml",
42
+ "app/views/kaminari/_paginator.html.erb",
43
+ "app/views/kaminari/_paginator.html.haml",
44
+ "app/views/kaminari/_prev_link.html.erb",
45
+ "app/views/kaminari/_prev_link.html.haml",
46
+ "app/views/kaminari/_prev_span.html.erb",
47
+ "app/views/kaminari/_prev_span.html.haml",
48
+ "app/views/kaminari/_truncated_span.html.erb",
49
+ "app/views/kaminari/_truncated_span.html.haml",
50
+ "config/locales/kaminari.yml",
51
+ "kaminari.gemspec",
52
+ "lib/generators/kaminari/views_generator.rb",
53
+ "lib/kaminari.rb",
54
+ "lib/kaminari/engine.rb",
55
+ "lib/kaminari/helpers/action_view_extension.rb",
56
+ "lib/kaminari/helpers/helpers.rb",
57
+ "lib/kaminari/helpers/tags.rb",
58
+ "lib/kaminari/models/active_record_extension.rb",
59
+ "lib/kaminari/models/active_record_relation_methods.rb",
60
+ "lib/kaminari/models/configuration_methods.rb",
61
+ "lib/kaminari/models/mongoid_criteria_methods.rb",
62
+ "lib/kaminari/models/mongoid_extension.rb",
63
+ "lib/kaminari/models/page_scope_methods.rb",
64
+ "lib/kaminari/railtie.rb",
65
+ "spec/acceptance/acceptance_helper.rb",
66
+ "spec/acceptance/support/helpers.rb",
67
+ "spec/acceptance/support/paths.rb",
68
+ "spec/acceptance/users_spec.rb",
69
+ "spec/fake_app.rb",
70
+ "spec/helpers/helpers_spec.rb",
71
+ "spec/helpers/tags_spec.rb",
72
+ "spec/models/default_per_page_spec.rb",
73
+ "spec/models/mongoid_spec.rb",
74
+ "spec/models/scopes_spec.rb",
75
+ "spec/spec_helper.rb",
76
+ "spec/support/matchers.rb"
77
+ ]
78
+ s.homepage = %q{http://github.com/amatsuda/kaminari}
79
+ s.licenses = ["MIT"]
80
+ s.require_paths = ["lib"]
81
+ s.rubygems_version = %q{1.5.2}
82
+ s.summary = %q{A pagination engine plugin for Rails 3}
83
+ s.test_files = [
84
+ "spec/acceptance/acceptance_helper.rb",
85
+ "spec/acceptance/support/helpers.rb",
86
+ "spec/acceptance/support/paths.rb",
87
+ "spec/acceptance/users_spec.rb",
88
+ "spec/fake_app.rb",
89
+ "spec/helpers/helpers_spec.rb",
90
+ "spec/helpers/tags_spec.rb",
91
+ "spec/models/default_per_page_spec.rb",
92
+ "spec/models/mongoid_spec.rb",
93
+ "spec/models/scopes_spec.rb",
94
+ "spec/spec_helper.rb",
95
+ "spec/support/matchers.rb"
96
+ ]
97
+
98
+ if s.respond_to? :specification_version then
99
+ s.specification_version = 3
100
+
101
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
102
+ s.add_development_dependency(%q<rspec>, [">= 2.5.0"])
103
+ s.add_development_dependency(%q<rr>, [">= 1.0.2"])
104
+ s.add_development_dependency(%q<steak>, [">= 1.1.0"])
105
+ s.add_development_dependency(%q<capybara>, [">= 0.4.1.1"])
106
+ s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
107
+ s.add_development_dependency(%q<jeweler>, [">= 1.5.2"])
108
+ s.add_development_dependency(%q<rcov>, [">= 0"])
109
+ s.add_development_dependency(%q<rails>, [">= 0"])
110
+ s.add_development_dependency(%q<rack>, [">= 0"])
111
+ s.add_development_dependency(%q<arel>, [">= 0"])
112
+ s.add_development_dependency(%q<rspec-rails>, [">= 2.5.0"])
113
+ s.add_development_dependency(%q<sqlite3>, [">= 1.3.3"])
114
+ s.add_development_dependency(%q<mongoid>, ["= 2.0.0.rc.7"])
115
+ s.add_development_dependency(%q<bson_ext>, ["~> 1.2"])
116
+ s.add_runtime_dependency(%q<rails>, [">= 3.0.0"])
117
+ else
118
+ s.add_dependency(%q<rspec>, [">= 2.5.0"])
119
+ s.add_dependency(%q<rr>, [">= 1.0.2"])
120
+ s.add_dependency(%q<steak>, [">= 1.1.0"])
121
+ s.add_dependency(%q<capybara>, [">= 0.4.1.1"])
122
+ s.add_dependency(%q<bundler>, [">= 1.0.0"])
123
+ s.add_dependency(%q<jeweler>, [">= 1.5.2"])
124
+ s.add_dependency(%q<rcov>, [">= 0"])
125
+ s.add_dependency(%q<rails>, [">= 0"])
126
+ s.add_dependency(%q<rack>, [">= 0"])
127
+ s.add_dependency(%q<arel>, [">= 0"])
128
+ s.add_dependency(%q<rspec-rails>, [">= 2.5.0"])
129
+ s.add_dependency(%q<sqlite3>, [">= 1.3.3"])
130
+ s.add_dependency(%q<mongoid>, ["= 2.0.0.rc.7"])
131
+ s.add_dependency(%q<bson_ext>, ["~> 1.2"])
132
+ s.add_dependency(%q<rails>, [">= 3.0.0"])
133
+ end
134
+ else
135
+ s.add_dependency(%q<rspec>, [">= 2.5.0"])
136
+ s.add_dependency(%q<rr>, [">= 1.0.2"])
137
+ s.add_dependency(%q<steak>, [">= 1.1.0"])
138
+ s.add_dependency(%q<capybara>, [">= 0.4.1.1"])
139
+ s.add_dependency(%q<bundler>, [">= 1.0.0"])
140
+ s.add_dependency(%q<jeweler>, [">= 1.5.2"])
141
+ s.add_dependency(%q<rcov>, [">= 0"])
142
+ s.add_dependency(%q<rails>, [">= 0"])
143
+ s.add_dependency(%q<rack>, [">= 0"])
144
+ s.add_dependency(%q<arel>, [">= 0"])
145
+ s.add_dependency(%q<rspec-rails>, [">= 2.5.0"])
146
+ s.add_dependency(%q<sqlite3>, [">= 1.3.3"])
147
+ s.add_dependency(%q<mongoid>, ["= 2.0.0.rc.7"])
148
+ s.add_dependency(%q<bson_ext>, ["~> 1.2"])
149
+ s.add_dependency(%q<rails>, [">= 3.0.0"])
150
+ end
151
+ end
152
+