findit 1.1.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b52faa56156248e3836456cea8442b844cb57243
4
- data.tar.gz: 8b9680941f3e7482b8647b3dbdb1bb1fa37a417d
3
+ metadata.gz: 6a8a4312793f6f42a65341ed111881e256230f35
4
+ data.tar.gz: c8a38afe7a521f7663915b1bfac93fc1d54257c8
5
5
  SHA512:
6
- metadata.gz: 3c9c36ba638e016dc8c497303a953c292776a92c09acb20ee2acdb69047d17419bd0761f1acfa9b6a8446d861b694f0c31f57bfd5c2760b0801033c14f953c29
7
- data.tar.gz: 2e5d6be3734309ff580788cc0480f6ef3affdcb42f379acd29f5df4cde4eb9441453acdf0bc6f88b063f853264a8c0f67fb12212c46237ab00111fc6d66ddbf2
6
+ metadata.gz: 9d8fd66b0123e72b5c08f08b520d243c63cf1b1953f64cd06d89ce58d6c0aba245bfe3ad1a111fe84bbb44fe997aaa94141d6c941cb0aedfc8873281935d61e7
7
+ data.tar.gz: 7650158362ba60928cb1302c2f6202ffaeb91907b88d496306337e9f5cfbdcbf9685fdedd133d548933f6fba9b8024ac58e9e9711418dc88d8729baa3b791775
data/.drone.yml ADDED
@@ -0,0 +1,86 @@
1
+ name: build
2
+
3
+ kind: pipeline
4
+ type: docker
5
+
6
+ volumes:
7
+ - name: rubygems
8
+ host:
9
+ path: /home/data/drone/rubygems
10
+ - name: images
11
+ host:
12
+ path: /home/data/drone/images
13
+ - name: bundle
14
+ host:
15
+ path: /home/data/drone/gems
16
+ - name: keys
17
+ host:
18
+ path: /home/data/drone/key_cache
19
+
20
+ spec_step_common: &spec_step_common
21
+ image: abakpress/dind-testing:1.0.3
22
+ pull: if-not-exists
23
+ privileged: true
24
+ volumes:
25
+ - name: images
26
+ path: /images
27
+ - name: bundle
28
+ path: /bundle
29
+ - name: keys
30
+ path: /ssh_keys
31
+ commands:
32
+ - prepare-build
33
+
34
+ - fetch-images
35
+ --image whilp/ssh-agent
36
+ --image abakpress/ruby-app:$RUBY_IMAGE_TAG
37
+
38
+ - dip ssh add -T -v /ssh_keys -k /ssh_keys/id_rsa
39
+ - dip provision
40
+ - dip rspec
41
+
42
+ steps:
43
+ - name: Tests Ruby 2.2
44
+ environment:
45
+ COMPOSE_FILE_EXT: drone
46
+ DOCKER_RUBY_VERSION: 2.2
47
+ RUBY_IMAGE_TAG: 2.2-latest
48
+ RAILS_ENV: test
49
+ <<: *spec_step_common
50
+
51
+ - name: Tests Ruby 2.3
52
+ environment:
53
+ COMPOSE_FILE_EXT: drone
54
+ DOCKER_RUBY_VERSION: 2.3
55
+ RUBY_IMAGE_TAG: 2.3-latest
56
+ RAILS_ENV: test
57
+ <<: *spec_step_common
58
+
59
+ - name: Tests Ruby 2.4
60
+ environment:
61
+ COMPOSE_FILE_EXT: drone
62
+ DOCKER_RUBY_VERSION: 2.4
63
+ RUBY_IMAGE_TAG: 2.4-latest
64
+ RAILS_ENV: test
65
+ <<: *spec_step_common
66
+
67
+ - name: Tests Ruby 2.5
68
+ environment:
69
+ COMPOSE_FILE_EXT: drone
70
+ DOCKER_RUBY_VERSION: 2.5
71
+ RUBY_IMAGE_TAG: 2.5-latest
72
+ RAILS_ENV: test
73
+ <<: *spec_step_common
74
+
75
+ - name: release
76
+ image: abakpress/gem-publication:latest
77
+ pull: if-not-exists
78
+ when:
79
+ event: push
80
+ branch: master
81
+ status: success
82
+ volumes:
83
+ - name: rubygems
84
+ path: /root/.gem
85
+ commands:
86
+ - release-gem --public
data/.gitignore CHANGED
@@ -9,3 +9,4 @@
9
9
  /tmp/
10
10
  /gemfiles/*
11
11
  /spec/internal/test
12
+ /.idea/
data/Appraisals CHANGED
@@ -1,20 +1,43 @@
1
- appraise 'rails3.1' do
2
- gem 'rails', '~> 3.1.0'
1
+ if RUBY_VERSION < '2.4'
2
+ appraise 'rails4.0' do
3
+ gem 'activesupport', '~> 4.0.0'
4
+ gem 'sqlite3', '~> 1.3.6'
5
+ end
6
+
7
+ appraise 'rails4.1' do
8
+ gem 'activesupport', '~> 4.1.0'
9
+ gem 'sqlite3', '~> 1.3.6'
10
+ end
3
11
  end
4
12
 
5
- appraise 'rails3.2' do
6
- gem 'rails', '~> 3.2.0'
13
+ appraise 'rails4.2' do
14
+ gem 'activesupport', '~> 4.2.0'
15
+ gem 'sqlite3', '~> 1.3.6'
7
16
  end
8
17
 
9
- appraise 'rails4.0' do
10
- gem 'rails', '~> 4.0.0'
18
+ appraise 'rails5.0' do
19
+ gem 'activesupport', '~> 5.0.0'
20
+ gem 'sqlite3', '~> 1.3.6'
11
21
  end
12
22
 
13
- appraise 'rails4.1' do
14
- gem 'rails', '~> 4.1.0'
23
+ appraise 'rails5.1' do
24
+ gem 'activesupport', '~> 5.1.0'
25
+ gem 'sqlite3', '~> 1.3.6'
15
26
  end
16
27
 
17
- appraise 'rails4.2' do
18
- gem 'rails', '~> 4.2.0'
28
+ appraise 'rails5.2' do
29
+ gem 'activesupport', '~> 5.2.0'
30
+ gem 'sqlite3', '~> 1.3.6'
19
31
  end
20
32
 
33
+ if RUBY_VERSION >= '2.5'
34
+ appraise 'rails6.0' do
35
+ gem 'activesupport', '~> 6.0.0'
36
+ gem 'sqlite3', '~> 1.4'
37
+ end
38
+
39
+ appraise 'rails6.1' do
40
+ gem 'activesupport', '~> 6.1.0'
41
+ gem 'sqlite3', '~> 1.4'
42
+ end
43
+ end
data/CHANGELOG.md ADDED
@@ -0,0 +1,40 @@
1
+ # v1.4.1
2
+
3
+ * 2021-08-06 [0941afd](../../commit/0941afd) - __(TamarinEA)__ Release 1.4.1
4
+ * 2021-08-06 [9d06ecf](../../commit/9d06ecf) - __(TamarinEA)__ chore: test ruby 2.2-2.5 and rails 4.0-6.1
5
+ * 2018-05-29 [3fd7608](../../commit/3fd7608) - __(Pavel Galkin)__ fix: expire_in -> expires_in typo
6
+ Из поисков по коду как я понял expires_in это верный вариант
7
+
8
+ https://github.com/sorentwo/readthis/blob/v2.0.2/lib/readthis/cache.rb#L395
9
+
10
+ # v1.4.0
11
+
12
+ * 2017-05-03 [fd29452](../../commit/fd29452) - __(evseevleo)__ feat(collection): delegate :shift
13
+ * 2017-04-03 [92e5b37](../../commit/92e5b37) - __(Denis Korobicyn)__ Release 1.3.0
14
+
15
+ # v1.3.0
16
+
17
+ * 2017-03-31 [51de445](../../commit/51de445) - __(Denis Korobicyn)__ feature: cache extension
18
+ * 2017-03-30 [7e85787](../../commit/7e85787) - __(Denis Korobicyn)__ feature: single extension
19
+ * 2017-03-30 [fa2445f](../../commit/fa2445f) - __(Denis Korobicyn)__ chore: add drone CI
20
+
21
+ # v1.2.0
22
+
23
+ * 2016-05-10 [ce9751b](../../commit/ce9751b) - __(Denis Korobicyn)__ feature: will_paginate integration (#5)
24
+
25
+ # v1.1.0
26
+
27
+ * 2016-05-06 [cc5c612](../../commit/cc5c612) - __(Denis Korobicyn)__ feature: delegate to_a, to_ary to call (#4)
28
+
29
+ # v1.0.0
30
+
31
+ * 2016-05-05 [222dc6e](../../commit/222dc6e) - __(Denis Korobicyn)__ version 1.0.0
32
+ * 2016-05-05 [baffa09](../../commit/baffa09) - __(Denis Korobicyn)__ feature: removed `data`, and pure virtual method - `find` (#3)
33
+ * 2016-05-05 [274a7af](../../commit/274a7af) - __(Denis Korobicyn)__ fix: cache key with namespace of class name (#2)
34
+
35
+ # v0.1.0
36
+
37
+ * 2016-05-04 [1d8e898](../../commit/1d8e898) - __(Denis Korobicyn)__ Init commit (#1)
38
+ * Init commit
39
+
40
+ * 2016-04-26 [56d5ce8](../../commit/56d5ce8) - __(Artem Napolskih)__ Initial commit
data/Gemfile CHANGED
@@ -1,4 +1,3 @@
1
1
  source 'https://rubygems.org'
2
- gem 'mime-types', '< 3.0' if RUBY_VERSION < '2'
3
2
 
4
3
  gemspec
data/README.md CHANGED
@@ -155,11 +155,132 @@ class PostsController < ApplicationController
155
155
  end
156
156
  end
157
157
 
158
- #/app/views/posts/index.html.haml
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
158
+ #/app/views/posts/index.html.erb
159
+ <% cache(@posts, expires_in: 30.minutes) do %>
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, expires_in: 30.minutes) do %>
201
+ <%= render 'post', collection: @posts, as: :post %>
202
+ <%= will_paginate @posts %>
203
+ ```
204
+
205
+ ### Single
206
+
207
+ Adds DSL for cache_key on Finder with single element to find.
208
+
209
+ Example usage:
210
+
211
+ ```ruby
212
+ # app/finders/post_finder.rb
213
+ class PostsFinder
214
+ include Findit::Single
215
+
216
+ cache_key do
217
+ @user
218
+ end
219
+
220
+ def initialize(user)
221
+ @user = user
222
+ end
223
+
224
+ private
225
+
226
+ def find
227
+ Post.where(user: user).last
228
+ end
229
+ end
230
+ ```
231
+
232
+ ### Cache
233
+
234
+ Extends finder with cache possibility. Every call of `call` method will be cached in `Rails.cache`.
235
+ Method `cache options` allows you to add custom options like `expires_in` or `tags` to `Rails.cache.fetch`.
236
+ If you want to disable cache dependent of initialization arguments, you can use `cache?` DSL method.
237
+
238
+ All in one Example:
239
+ ```ruby
240
+ # app/finders/post_finder.rb
241
+ class CachedPostsFinder
242
+ include Findit::Single
243
+ include Findit::Cache
244
+
245
+ cache_key do
246
+ @user
247
+ end
248
+
249
+ cache_options do
250
+ {expires_in: 15.minutes} # This will be directly passed to Rails.cache.fetch
251
+ end
252
+
253
+ def initialize(user)
254
+ @user = user
255
+ end
256
+
257
+ private
258
+
259
+ def find
260
+ Post.where(user: user)
261
+ end
262
+ end
263
+ ```
264
+
265
+ To disable cache for some reasone you can call special method without_cache:
266
+
267
+ ```ruby
268
+ CachedFinder.new(user).without_cache.load # no cache
269
+
270
+ CachedFinder.new(user).load - # will perform cache operations
271
+ ```
272
+
273
+
274
+ If you want this functionality on Collections finder you can add extension `Findit::Collections` alongside with Cache:
275
+ ```ruby
276
+ class SomeFinder
277
+ include Findit::Collections
278
+ include Findit::Cache
279
+
280
+ ...
281
+ end
161
282
  ```
162
283
 
163
284
  ## Contributing
164
285
 
165
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/findit.
286
+ Bug reports and pull requests are welcome on GitHub at https://github.com/abak-press/findit.
data/dip.yml ADDED
@@ -0,0 +1,46 @@
1
+ version: '1'
2
+
3
+ environment:
4
+ DOCKER_RUBY_VERSION: 2.5
5
+ RUBY_IMAGE_TAG: 2.5-latest
6
+ COMPOSE_FILE_EXT: development
7
+ RAILS_ENV: test
8
+
9
+ compose:
10
+ files:
11
+ - docker-compose.yml
12
+ - docker-compose.${COMPOSE_FILE_EXT}.yml
13
+
14
+ interaction:
15
+ sh:
16
+ service: app
17
+
18
+ irb:
19
+ service: app
20
+ command: irb
21
+
22
+ bundle:
23
+ service: app
24
+ command: bundle
25
+
26
+ rake:
27
+ service: app
28
+ command: bundle exec rake
29
+
30
+ appraisal:
31
+ service: app
32
+ command: bundle exec appraisal
33
+
34
+ rspec:
35
+ service: app
36
+ command: bundle exec appraisal bundle exec rspec
37
+
38
+ clean:
39
+ service: app
40
+ command: rm -f Gemfile.lock gemfiles/*.gemfile.*
41
+
42
+ provision:
43
+ - docker volume create --name bundler_data
44
+ - dip clean
45
+ - dip bundle install
46
+ - dip appraisal install
@@ -0,0 +1,12 @@
1
+ version: '2'
2
+
3
+ services:
4
+ app:
5
+ volumes:
6
+ - .:/app
7
+ - bundler-data:/bundle
8
+
9
+ volumes:
10
+ bundler-data:
11
+ external:
12
+ name: bundler_data
@@ -0,0 +1,7 @@
1
+ version: '2'
2
+
3
+ services:
4
+ app:
5
+ volumes:
6
+ - .:/app
7
+ - /bundle:/bundle
@@ -0,0 +1,9 @@
1
+ version: '2'
2
+
3
+ services:
4
+ app:
5
+ image: abakpress/ruby-app:$RUBY_IMAGE_TAG
6
+ environment:
7
+ - BUNDLE_PATH=/bundle/$DOCKER_RUBY_VERSION
8
+ - BUNDLE_CONFIG=/app/.bundle/config
9
+ command: bash
data/findit.gemspec CHANGED
@@ -17,15 +17,15 @@ Gem::Specification.new do |spec|
17
17
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.add_runtime_dependency 'activesupport', '>= 3.1'
20
+ spec.add_runtime_dependency 'activesupport', '>= 4.0'
21
21
 
22
- spec.add_development_dependency "rake", "~> 10.0"
22
+ spec.add_development_dependency 'activerecord'
23
+ spec.add_development_dependency 'will_paginate'
23
24
  spec.add_development_dependency "rspec", ">= 3.2"
24
- spec.add_development_dependency "rspec-rails", ">= 3.2"
25
+ spec.add_development_dependency "rspec-rails", ">= 3.9.1"
25
26
  spec.add_development_dependency 'combustion', '>= 0.5'
26
27
  spec.add_development_dependency "appraisal", ">= 2.1.0"
27
- spec.add_development_dependency 'pry-debugger'
28
- spec.add_development_dependency 'shoulda-matchers', '< 3.0.0'
28
+ spec.add_development_dependency 'pry-byebug'
29
29
  spec.add_development_dependency 'simplecov'
30
30
  spec.add_development_dependency 'sqlite3'
31
31
  end
data/lib/findit.rb CHANGED
@@ -1,6 +1,9 @@
1
1
  require 'active_support'
2
2
  require "findit/version"
3
+ require 'findit/single'
4
+ require 'findit/cache'
3
5
  require 'findit/collections'
6
+ require 'findit/will_paginate'
4
7
 
5
8
  module Findit
6
9
  end
@@ -0,0 +1,87 @@
1
+ #
2
+ # Example usage:
3
+ #
4
+ # #/app/finders/posts_finders.rb
5
+ # class CachedPostFinder
6
+ # include Findit::Cache
7
+ #
8
+ # cache_key do
9
+ # [@user.id, @query]
10
+ # end
11
+ #
12
+ # cache? do
13
+ # !@no_cache
14
+ # end
15
+ #
16
+ # cache_options do
17
+ # {expires_in: 15.minutes}
18
+ # end
19
+ #
20
+ # private
21
+ #
22
+ # def find
23
+ # scope = scope.where(user_id: @user.id)
24
+ # scope = scope.where('description like :query', query: @query) if @query.present?
25
+ # scope
26
+ # end
27
+ # end
28
+ #
29
+ # #/app/controllers/posts_controller.rb
30
+ # class PostsController < ApplicationController
31
+ # def show
32
+ # @post = CachedPostFinder.new(user: current_user).call
33
+ # end
34
+ # end
35
+ #
36
+ # #/app/views/posts/index.html.erb
37
+ # # Already cached in finder itself
38
+ # <%= render 'post', post: @post%>
39
+ #
40
+ # # OR if you call it in another finder
41
+ # class CommentOnMyLastPostFinder
42
+ # include Findit::Collections
43
+ #
44
+ # def initialize(user)
45
+ # @user = user
46
+ # end
47
+ #
48
+ # private
49
+ #
50
+ # def find
51
+ # last_post.comments
52
+ # end
53
+ #
54
+ # def last_post
55
+ # @post = CachedPostFinder.new(user).call
56
+ # end
57
+ # end
58
+ #
59
+ module Findit
60
+ module Cache
61
+ extend ActiveSupport::Concern
62
+
63
+ module ClassMethods
64
+ def cache_options(&block)
65
+ define_method(:cache_options) do
66
+ instance_exec(&block)
67
+ end
68
+ end
69
+ end
70
+
71
+ included do
72
+ set_callback :find, :around do |object, block|
73
+ if !defined?(@cache) || @cache
74
+ options = respond_to?(:cache_options) && cache_options
75
+ @data = Rails.cache.fetch(object.cache_key, options) { block.call }
76
+ else
77
+ block.call
78
+ end
79
+ end
80
+ end
81
+
82
+ def without_cache
83
+ @cache = false
84
+ self
85
+ end
86
+ end
87
+ end
@@ -31,7 +31,7 @@
31
31
  # end
32
32
  #
33
33
  # #/app/views/posts/index.html.erb
34
- # <% cache(@posts, tags: @posts.cache_tags, expire_in: @posts.expire_in) do %>
34
+ # <% cache(@posts, tags: @posts.cache_tags, expires_in: @posts.expires_in) do %>
35
35
  # <%= render 'post' colection: @posts, as: :post%>
36
36
  #
37
37
  module Findit
@@ -40,24 +40,8 @@ module Findit
40
40
  extend ActiveSupport::Concern
41
41
 
42
42
  included do
43
- delegate :each, :[], :size, :empty?, :to_ary, :to_a, to: :call
44
- end
45
-
46
- module ClassMethods
47
- def cache_key(&block)
48
- define_method :cache_key do
49
- @cache_key ||= ActiveSupport::Cache.expand_cache_key(instance_exec(&block), self.class.name.underscore)
50
- end
51
- end
52
- end
53
-
54
- def find
55
- end
56
- undef :find
57
-
58
- def call
59
- return @data if defined?(@data)
60
- @data = find
43
+ include ::Findit::Single
44
+ delegate :each, :[], :size, :empty?, :to_ary, :to_a, :shift, to: :call
61
45
  end
62
46
  end
63
47
  end
@@ -0,0 +1,63 @@
1
+ #
2
+ # Example usage:
3
+ #
4
+ # #/app/finders/post_finders.rb
5
+ # class PostFinder
6
+ # include Findit::Single
7
+ #
8
+ # cache_key do
9
+ # [@user.id, @query]
10
+ # end
11
+ #
12
+ # def initialize(user, options = {})
13
+ # @user = user
14
+ # @query = options.fetch(:query)
15
+ # end
16
+ #
17
+ # private
18
+ #
19
+ # def find
20
+ # post = scope.find_by('description like :query', query: @query)
21
+ # end
22
+ # end
23
+ #
24
+ # #/app/controllers/posts_controller.rb
25
+ # class PostsController < ApplicationController
26
+ # def show
27
+ # @post = PostFinder.new(current_user, query: 'some desc')
28
+ # end
29
+ # end
30
+ #
31
+ # #/app/views/posts/show.html.erb
32
+ # <% cache(@post, expires_in: 15.minutes) do %>
33
+ # <%= render 'post', post: @post.load%>
34
+ #
35
+ module Findit
36
+ module Single
37
+ extend ActiveSupport::Concern
38
+
39
+ included do
40
+ include ActiveSupport::Callbacks
41
+ define_callbacks :find
42
+ end
43
+
44
+ module ClassMethods
45
+ def cache_key(&block)
46
+ define_method :cache_key do
47
+ @cache_key ||= ActiveSupport::Cache.expand_cache_key(instance_exec(&block), self.class.name.underscore)
48
+ end
49
+ end
50
+ end
51
+
52
+ def find
53
+ end
54
+ undef :find
55
+
56
+ def call
57
+ return @data if defined?(@data)
58
+ res = run_callbacks(:find) { find }
59
+ @data ||= res
60
+ end
61
+ alias_method :load, :call
62
+ end
63
+ end
@@ -1,3 +1,3 @@
1
1
  module Findit
2
- VERSION = "1.1.0"
2
+ VERSION = "1.4.1".freeze
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,155 +1,155 @@
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.4.1
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: 2021-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- version_requirements: !ruby/object:Gem::Requirement
15
- requirements:
16
- - - '>='
17
- - !ruby/object:Gem::Version
18
- version: '3.1'
19
14
  name: activesupport
20
15
  requirement: !ruby/object:Gem::Requirement
21
16
  requirements:
22
- - - '>='
17
+ - - ">="
23
18
  - !ruby/object:Gem::Version
24
- version: '3.1'
19
+ version: '4.0'
25
20
  type: :runtime
26
21
  prerelease: false
27
- - !ruby/object:Gem::Dependency
28
22
  version_requirements: !ruby/object:Gem::Requirement
29
23
  requirements:
30
- - - ~>
24
+ - - ">="
31
25
  - !ruby/object:Gem::Version
32
- version: '10.0'
33
- name: rake
26
+ version: '4.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: activerecord
34
29
  requirement: !ruby/object:Gem::Requirement
35
30
  requirements:
36
- - - ~>
31
+ - - ">="
37
32
  - !ruby/object:Gem::Version
38
- version: '10.0'
33
+ version: '0'
39
34
  type: :development
40
35
  prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
+ name: will_paginate
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
42
50
  version_requirements: !ruby/object:Gem::Requirement
43
51
  requirements:
44
- - - '>='
52
+ - - ">="
45
53
  - !ruby/object:Gem::Version
46
- version: '3.2'
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
47
56
  name: rspec
48
57
  requirement: !ruby/object:Gem::Requirement
49
58
  requirements:
50
- - - '>='
59
+ - - ">="
51
60
  - !ruby/object:Gem::Version
52
61
  version: '3.2'
53
62
  type: :development
54
63
  prerelease: false
55
- - !ruby/object:Gem::Dependency
56
64
  version_requirements: !ruby/object:Gem::Requirement
57
65
  requirements:
58
- - - '>='
66
+ - - ">="
59
67
  - !ruby/object:Gem::Version
60
68
  version: '3.2'
69
+ - !ruby/object:Gem::Dependency
61
70
  name: rspec-rails
62
71
  requirement: !ruby/object:Gem::Requirement
63
72
  requirements:
64
- - - '>='
73
+ - - ">="
65
74
  - !ruby/object:Gem::Version
66
- version: '3.2'
75
+ version: 3.9.1
67
76
  type: :development
68
77
  prerelease: false
69
- - !ruby/object:Gem::Dependency
70
78
  version_requirements: !ruby/object:Gem::Requirement
71
79
  requirements:
72
- - - '>='
80
+ - - ">="
73
81
  - !ruby/object:Gem::Version
74
- version: '0.5'
82
+ version: 3.9.1
83
+ - !ruby/object:Gem::Dependency
75
84
  name: combustion
76
85
  requirement: !ruby/object:Gem::Requirement
77
86
  requirements:
78
- - - '>='
87
+ - - ">="
79
88
  - !ruby/object:Gem::Version
80
89
  version: '0.5'
81
90
  type: :development
82
91
  prerelease: false
83
- - !ruby/object:Gem::Dependency
84
92
  version_requirements: !ruby/object:Gem::Requirement
85
93
  requirements:
86
- - - '>='
94
+ - - ">="
87
95
  - !ruby/object:Gem::Version
88
- version: 2.1.0
96
+ version: '0.5'
97
+ - !ruby/object:Gem::Dependency
89
98
  name: appraisal
90
99
  requirement: !ruby/object:Gem::Requirement
91
100
  requirements:
92
- - - '>='
101
+ - - ">="
93
102
  - !ruby/object:Gem::Version
94
103
  version: 2.1.0
95
104
  type: :development
96
105
  prerelease: false
97
- - !ruby/object:Gem::Dependency
98
106
  version_requirements: !ruby/object:Gem::Requirement
99
107
  requirements:
100
- - - '>='
108
+ - - ">="
101
109
  - !ruby/object:Gem::Version
102
- version: '0'
103
- name: pry-debugger
104
- requirement: !ruby/object:Gem::Requirement
105
- requirements:
106
- - - '>='
107
- - !ruby/object:Gem::Version
108
- version: '0'
109
- type: :development
110
- prerelease: false
110
+ version: 2.1.0
111
111
  - !ruby/object:Gem::Dependency
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - <
115
- - !ruby/object:Gem::Version
116
- version: 3.0.0
117
- name: shoulda-matchers
112
+ name: pry-byebug
118
113
  requirement: !ruby/object:Gem::Requirement
119
114
  requirements:
120
- - - <
115
+ - - ">="
121
116
  - !ruby/object:Gem::Version
122
- version: 3.0.0
117
+ version: '0'
123
118
  type: :development
124
119
  prerelease: false
125
- - !ruby/object:Gem::Dependency
126
120
  version_requirements: !ruby/object:Gem::Requirement
127
121
  requirements:
128
- - - '>='
122
+ - - ">="
129
123
  - !ruby/object:Gem::Version
130
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
131
126
  name: simplecov
132
127
  requirement: !ruby/object:Gem::Requirement
133
128
  requirements:
134
- - - '>='
129
+ - - ">="
135
130
  - !ruby/object:Gem::Version
136
131
  version: '0'
137
132
  type: :development
138
133
  prerelease: false
139
- - !ruby/object:Gem::Dependency
140
134
  version_requirements: !ruby/object:Gem::Requirement
141
135
  requirements:
142
- - - '>='
136
+ - - ">="
143
137
  - !ruby/object:Gem::Version
144
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
145
140
  name: sqlite3
146
141
  requirement: !ruby/object:Gem::Requirement
147
142
  requirements:
148
- - - '>='
143
+ - - ">="
149
144
  - !ruby/object:Gem::Version
150
145
  version: '0'
151
146
  type: :development
152
147
  prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
153
  description:
154
154
  email:
155
155
  - deniskorobitcin@gmail.com
@@ -157,19 +157,27 @@ executables: []
157
157
  extensions: []
158
158
  extra_rdoc_files: []
159
159
  files:
160
- - .gitignore
160
+ - ".drone.yml"
161
+ - ".gitignore"
161
162
  - Appraisals
163
+ - CHANGELOG.md
162
164
  - Gemfile
163
- - Makefile
164
165
  - README.md
165
166
  - Rakefile
166
167
  - bin/console
167
168
  - bin/setup
168
169
  - config.ru
170
+ - dip.yml
171
+ - docker-compose.development.yml
172
+ - docker-compose.drone.yml
173
+ - docker-compose.yml
169
174
  - findit.gemspec
170
175
  - lib/findit.rb
176
+ - lib/findit/cache.rb
171
177
  - lib/findit/collections.rb
178
+ - lib/findit/single.rb
172
179
  - lib/findit/version.rb
180
+ - lib/findit/will_paginate.rb
173
181
  homepage: https://github.com/abak-press/findit
174
182
  licenses: []
175
183
  metadata: {}
@@ -179,17 +187,17 @@ require_paths:
179
187
  - lib
180
188
  required_ruby_version: !ruby/object:Gem::Requirement
181
189
  requirements:
182
- - - '>='
190
+ - - ">="
183
191
  - !ruby/object:Gem::Version
184
192
  version: '0'
185
193
  required_rubygems_version: !ruby/object:Gem::Requirement
186
194
  requirements:
187
- - - '>='
195
+ - - ">="
188
196
  - !ruby/object:Gem::Version
189
197
  version: '0'
190
198
  requirements: []
191
199
  rubyforge_project:
192
- rubygems_version: 2.4.8
200
+ rubygems_version: 2.6.1
193
201
  signing_key:
194
202
  specification_version: 4
195
203
  summary: Extensions for Finder classes
data/Makefile DELETED
@@ -1,23 +0,0 @@
1
- RAILS_ENV = test
2
- BUNDLE_VERSION = 1.11.2
3
- BUNDLE = RAILS_ENV=${RAILS_ENV} bundle _${BUNDLE_VERSION}_
4
- BUNDLE_OPTIONS = -j 2
5
- RSPEC = rspec
6
- APPRAISAL = appraisal
7
-
8
- all: test
9
-
10
- test: bundler/install appraisal/install
11
- ${BUNDLE} exec ${APPRAISAL} ${RSPEC} spec 2>&1
12
-
13
- bundler/install:
14
- gem install bundler --version=${BUNDLE_VERSION};
15
- ${BUNDLE} install ${BUNDLE_OPTIONS}
16
-
17
- appraisal/install:
18
- ${BUNDLE} exec ${APPRAISAL} install
19
-
20
- clean:
21
- rm -f Gemfile.lock
22
- rm -rf gemfiles
23
-