findit 1.1.0 → 1.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b52faa56156248e3836456cea8442b844cb57243
4
- data.tar.gz: 8b9680941f3e7482b8647b3dbdb1bb1fa37a417d
3
+ metadata.gz: aa72800635cdabfff2a7363ba8525315b782e37e
4
+ data.tar.gz: 05667fd93e82d9352acc0f9f1e97704fd48b3fb4
5
5
  SHA512:
6
- metadata.gz: 3c9c36ba638e016dc8c497303a953c292776a92c09acb20ee2acdb69047d17419bd0761f1acfa9b6a8446d861b694f0c31f57bfd5c2760b0801033c14f953c29
7
- data.tar.gz: 2e5d6be3734309ff580788cc0480f6ef3affdcb42f379acd29f5df4cde4eb9441453acdf0bc6f88b063f853264a8c0f67fb12212c46237ab00111fc6d66ddbf2
6
+ metadata.gz: 069e2eaea3e6c393ab2d29fdba362bd4b7a34231f141f93cebceb4be85bdc1ecdda5877a48ea5a99c236ed932be92d845919785c9f6d68d7556ba219f18a86ea
7
+ data.tar.gz: fc4ba671c1af2282bac7ec289d7da2e868ca8f721b4cec0c937c5c1a61665322efd4ff02fe20a1ec716a1e4eb8d16cf05d2d7e583c27dc4600736fb6c450bef0
data/Appraisals CHANGED
@@ -1,20 +1,20 @@
1
1
  appraise 'rails3.1' do
2
- gem 'rails', '~> 3.1.0'
2
+ gem 'rails', '~> 3.1'
3
3
  end
4
4
 
5
5
  appraise 'rails3.2' do
6
- gem 'rails', '~> 3.2.0'
6
+ gem 'rails', '~> 3.2'
7
7
  end
8
8
 
9
9
  appraise 'rails4.0' do
10
- gem 'rails', '~> 4.0.0'
10
+ gem 'rails', '~> 4.0'
11
11
  end
12
12
 
13
13
  appraise 'rails4.1' do
14
- gem 'rails', '~> 4.1.0'
14
+ gem 'rails', '~> 4.1'
15
15
  end
16
16
 
17
17
  appraise 'rails4.2' do
18
- gem 'rails', '~> 4.2.0'
18
+ gem 'rails', '~> 4.2'
19
19
  end
20
20
 
data/README.md CHANGED
@@ -155,9 +155,51 @@ class PostsController < ApplicationController
155
155
  end
156
156
  end
157
157
 
158
- #/app/views/posts/index.html.haml
158
+ #/app/views/posts/index.html.erb
159
159
  <% cache(@posts, expire_in: 30.minutes) do %>
160
- <%=render 'post' colection: @posts, as: :post%> # it will automaticly iterate over finder results by each method
160
+ <%=render 'post', collection: @posts, as: :post%> # it will automaticly iterate over finder results by each method
161
+ ```
162
+
163
+ ## WillPaginate
164
+
165
+ It adds delegation of [will_paginate](https://github.com/mislav/will_paginate) methods to finder.
166
+
167
+ Example usage:
168
+
169
+ ```ruby
170
+ # app/finders/post_finder.rb
171
+ class PostFinder
172
+ include Findit::Collection
173
+ include Findit::WillPaginate
174
+
175
+ cache_key do
176
+ [@page, @per_page]
177
+ end
178
+
179
+ def initialize(page, per_page)
180
+ @page = page
181
+ @per_page = per_page
182
+ end
183
+
184
+ private
185
+
186
+ def find
187
+ scope = Post.paginate(per_page: per_page, page: page)
188
+ end
189
+ end
190
+
191
+ # app/controllers/posts_controller.rb
192
+
193
+ class PostsController < ApplicationController
194
+ def index
195
+ @posts = PostFinder.new(params[:page], params[:per_page])
196
+ end
197
+ end
198
+
199
+ # app/views/posts/index.html.erb
200
+ <% cache(@posts, expire_in: 30.minutes) do %>
201
+ <%= render 'post', collection: @posts, as: :post %>
202
+ <%= will_paginate @posts %>
161
203
  ```
162
204
 
163
205
  ## Contributing
data/findit.gemspec CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.add_runtime_dependency 'activesupport', '>= 3.1'
21
21
 
22
22
  spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency 'will_paginate'
23
24
  spec.add_development_dependency "rspec", ">= 3.2"
24
25
  spec.add_development_dependency "rspec-rails", ">= 3.2"
25
26
  spec.add_development_dependency 'combustion', '>= 0.5'
data/lib/findit.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'active_support'
2
2
  require "findit/version"
3
3
  require 'findit/collections'
4
+ require 'findit/will_paginate'
4
5
 
5
6
  module Findit
6
7
  end
@@ -1,3 +1,3 @@
1
1
  module Findit
2
- VERSION = "1.1.0"
2
+ VERSION = "1.2.0"
3
3
  end
@@ -0,0 +1,9 @@
1
+ module Findit
2
+ module WillPaginate
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ delegate :current_page, :per_page, :total_entries, :total_pages, to: :call
7
+ end
8
+ end
9
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: findit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Korobicyn
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-06 00:00:00.000000000 Z
11
+ date: 2016-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  version_requirements: !ruby/object:Gem::Requirement
@@ -38,6 +38,20 @@ dependencies:
38
38
  version: '10.0'
39
39
  type: :development
40
40
  prerelease: false
41
+ - !ruby/object:Gem::Dependency
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ name: will_paginate
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - '>='
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ type: :development
54
+ prerelease: false
41
55
  - !ruby/object:Gem::Dependency
42
56
  version_requirements: !ruby/object:Gem::Requirement
43
57
  requirements:
@@ -170,6 +184,7 @@ files:
170
184
  - lib/findit.rb
171
185
  - lib/findit/collections.rb
172
186
  - lib/findit/version.rb
187
+ - lib/findit/will_paginate.rb
173
188
  homepage: https://github.com/abak-press/findit
174
189
  licenses: []
175
190
  metadata: {}