findit 1.2.0 → 1.3.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 +4 -4
- data/.drone.yml +19 -0
- data/README.md +81 -2
- data/dip.yml +46 -0
- data/docker-compose.development.yml +12 -0
- data/docker-compose.drone.yml +7 -0
- data/docker-compose.yml +9 -0
- data/findit.gemspec +2 -1
- data/lib/findit/cache.rb +87 -0
- data/lib/findit/collections.rb +1 -17
- data/lib/findit/single.rb +63 -0
- data/lib/findit/version.rb +1 -1
- data/lib/findit.rb +2 -0
- metadata +72 -52
- data/Makefile +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f2a7acc1f32c6584aecb5515f041e81bd2410ee
|
4
|
+
data.tar.gz: 6549ea60916596d9fde883fe75c0ebefca715438
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3b50f8a45783e0c2d873700c22367d0c38f28d1cb14c05615c94c1d637c287d0b4bfdbdbedb1e03d1032089742cca46bcafb6d9a327f142d46b09772328f98b
|
7
|
+
data.tar.gz: 4c1a5cead6328b4494646e6c91d81ce1c61c89a20ea55e3b9dbfc84fc89cfa192202336117b53e15c179bb3421c3e5e6a2471ccbe69d0e8ac174609967833753
|
data/.drone.yml
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
build:
|
2
|
+
test:
|
3
|
+
image: abakpress/dind-testing
|
4
|
+
pull: true
|
5
|
+
privileged: true
|
6
|
+
volumes:
|
7
|
+
- /home/data/drone/images:/images
|
8
|
+
- /home/data/drone/gems:/bundle
|
9
|
+
environment:
|
10
|
+
- COMPOSE_FILE_EXT=drone
|
11
|
+
- RUBY_IMAGE_TAG=2.2-latest
|
12
|
+
commands:
|
13
|
+
- wrapdocker docker -v
|
14
|
+
|
15
|
+
- fetch-images
|
16
|
+
--image abakpress/ruby-app:$RUBY_IMAGE_TAG
|
17
|
+
|
18
|
+
- dip provision
|
19
|
+
- dip rspec
|
data/README.md
CHANGED
@@ -160,7 +160,7 @@ end
|
|
160
160
|
<%=render 'post', collection: @posts, as: :post%> # it will automaticly iterate over finder results by each method
|
161
161
|
```
|
162
162
|
|
163
|
-
|
163
|
+
### WillPaginate
|
164
164
|
|
165
165
|
It adds delegation of [will_paginate](https://github.com/mislav/will_paginate) methods to finder.
|
166
166
|
|
@@ -202,6 +202,85 @@ end
|
|
202
202
|
<%= will_paginate @posts %>
|
203
203
|
```
|
204
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 `expire_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
|
+
{expire_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
|
282
|
+
```
|
283
|
+
|
205
284
|
## Contributing
|
206
285
|
|
207
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
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.2
|
5
|
+
RUBY_IMAGE_TAG: 2.2-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
|
data/docker-compose.yml
ADDED
data/findit.gemspec
CHANGED
@@ -25,8 +25,9 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.add_development_dependency "rspec-rails", ">= 3.2"
|
26
26
|
spec.add_development_dependency 'combustion', '>= 0.5'
|
27
27
|
spec.add_development_dependency "appraisal", ">= 2.1.0"
|
28
|
-
spec.add_development_dependency 'pry
|
28
|
+
spec.add_development_dependency 'pry'
|
29
29
|
spec.add_development_dependency 'shoulda-matchers', '< 3.0.0'
|
30
30
|
spec.add_development_dependency 'simplecov'
|
31
31
|
spec.add_development_dependency 'sqlite3'
|
32
|
+
spec.add_development_dependency 'test-unit'
|
32
33
|
end
|
data/lib/findit/cache.rb
ADDED
@@ -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
|
+
# {expire_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
|
data/lib/findit/collections.rb
CHANGED
@@ -40,24 +40,8 @@ module Findit
|
|
40
40
|
extend ActiveSupport::Concern
|
41
41
|
|
42
42
|
included do
|
43
|
+
include ::Findit::Single
|
43
44
|
delegate :each, :[], :size, :empty?, :to_ary, :to_a, to: :call
|
44
45
|
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
|
61
|
-
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, expire_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
|
data/lib/findit/version.rb
CHANGED
data/lib/findit.rb
CHANGED
metadata
CHANGED
@@ -1,169 +1,183 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: findit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.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:
|
11
|
+
date: 2017-04-03 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
19
|
version: '3.1'
|
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: '
|
26
|
+
version: '3.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
33
28
|
name: rake
|
34
29
|
requirement: !ruby/object:Gem::Requirement
|
35
30
|
requirements:
|
36
|
-
- - ~>
|
31
|
+
- - "~>"
|
37
32
|
- !ruby/object:Gem::Version
|
38
33
|
version: '10.0'
|
39
34
|
type: :development
|
40
35
|
prerelease: false
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
36
|
version_requirements: !ruby/object:Gem::Requirement
|
43
37
|
requirements:
|
44
|
-
- -
|
38
|
+
- - "~>"
|
45
39
|
- !ruby/object:Gem::Version
|
46
|
-
version: '0'
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
47
42
|
name: will_paginate
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
44
|
requirements:
|
50
|
-
- -
|
45
|
+
- - ">="
|
51
46
|
- !ruby/object:Gem::Version
|
52
47
|
version: '0'
|
53
48
|
type: :development
|
54
49
|
prerelease: false
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
51
|
requirements:
|
58
|
-
- -
|
52
|
+
- - ">="
|
59
53
|
- !ruby/object:Gem::Version
|
60
|
-
version: '
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
61
56
|
name: rspec
|
62
57
|
requirement: !ruby/object:Gem::Requirement
|
63
58
|
requirements:
|
64
|
-
- -
|
59
|
+
- - ">="
|
65
60
|
- !ruby/object:Gem::Version
|
66
61
|
version: '3.2'
|
67
62
|
type: :development
|
68
63
|
prerelease: false
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
64
|
version_requirements: !ruby/object:Gem::Requirement
|
71
65
|
requirements:
|
72
|
-
- -
|
66
|
+
- - ">="
|
73
67
|
- !ruby/object:Gem::Version
|
74
68
|
version: '3.2'
|
69
|
+
- !ruby/object:Gem::Dependency
|
75
70
|
name: rspec-rails
|
76
71
|
requirement: !ruby/object:Gem::Requirement
|
77
72
|
requirements:
|
78
|
-
- -
|
73
|
+
- - ">="
|
79
74
|
- !ruby/object:Gem::Version
|
80
75
|
version: '3.2'
|
81
76
|
type: :development
|
82
77
|
prerelease: false
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
78
|
version_requirements: !ruby/object:Gem::Requirement
|
85
79
|
requirements:
|
86
|
-
- -
|
80
|
+
- - ">="
|
87
81
|
- !ruby/object:Gem::Version
|
88
|
-
version: '
|
82
|
+
version: '3.2'
|
83
|
+
- !ruby/object:Gem::Dependency
|
89
84
|
name: combustion
|
90
85
|
requirement: !ruby/object:Gem::Requirement
|
91
86
|
requirements:
|
92
|
-
- -
|
87
|
+
- - ">="
|
93
88
|
- !ruby/object:Gem::Version
|
94
89
|
version: '0.5'
|
95
90
|
type: :development
|
96
91
|
prerelease: false
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
92
|
version_requirements: !ruby/object:Gem::Requirement
|
99
93
|
requirements:
|
100
|
-
- -
|
94
|
+
- - ">="
|
101
95
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
96
|
+
version: '0.5'
|
97
|
+
- !ruby/object:Gem::Dependency
|
103
98
|
name: appraisal
|
104
99
|
requirement: !ruby/object:Gem::Requirement
|
105
100
|
requirements:
|
106
|
-
- -
|
101
|
+
- - ">="
|
107
102
|
- !ruby/object:Gem::Version
|
108
103
|
version: 2.1.0
|
109
104
|
type: :development
|
110
105
|
prerelease: false
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
106
|
version_requirements: !ruby/object:Gem::Requirement
|
113
107
|
requirements:
|
114
|
-
- -
|
108
|
+
- - ">="
|
115
109
|
- !ruby/object:Gem::Version
|
116
|
-
version:
|
117
|
-
|
110
|
+
version: 2.1.0
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: pry
|
118
113
|
requirement: !ruby/object:Gem::Requirement
|
119
114
|
requirements:
|
120
|
-
- -
|
115
|
+
- - ">="
|
121
116
|
- !ruby/object:Gem::Version
|
122
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
|
-
version:
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
131
126
|
name: shoulda-matchers
|
132
127
|
requirement: !ruby/object:Gem::Requirement
|
133
128
|
requirements:
|
134
|
-
- - <
|
129
|
+
- - "<"
|
135
130
|
- !ruby/object:Gem::Version
|
136
131
|
version: 3.0.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
|
-
version:
|
138
|
+
version: 3.0.0
|
139
|
+
- !ruby/object:Gem::Dependency
|
145
140
|
name: simplecov
|
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
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
148
|
version_requirements: !ruby/object:Gem::Requirement
|
155
149
|
requirements:
|
156
|
-
- -
|
150
|
+
- - ">="
|
157
151
|
- !ruby/object:Gem::Version
|
158
152
|
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
159
154
|
name: sqlite3
|
160
155
|
requirement: !ruby/object:Gem::Requirement
|
161
156
|
requirements:
|
162
|
-
- -
|
157
|
+
- - ">="
|
163
158
|
- !ruby/object:Gem::Version
|
164
159
|
version: '0'
|
165
160
|
type: :development
|
166
161
|
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: test-unit
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
167
181
|
description:
|
168
182
|
email:
|
169
183
|
- deniskorobitcin@gmail.com
|
@@ -171,18 +185,24 @@ executables: []
|
|
171
185
|
extensions: []
|
172
186
|
extra_rdoc_files: []
|
173
187
|
files:
|
174
|
-
- .
|
188
|
+
- ".drone.yml"
|
189
|
+
- ".gitignore"
|
175
190
|
- Appraisals
|
176
191
|
- Gemfile
|
177
|
-
- Makefile
|
178
192
|
- README.md
|
179
193
|
- Rakefile
|
180
194
|
- bin/console
|
181
195
|
- bin/setup
|
182
196
|
- config.ru
|
197
|
+
- dip.yml
|
198
|
+
- docker-compose.development.yml
|
199
|
+
- docker-compose.drone.yml
|
200
|
+
- docker-compose.yml
|
183
201
|
- findit.gemspec
|
184
202
|
- lib/findit.rb
|
203
|
+
- lib/findit/cache.rb
|
185
204
|
- lib/findit/collections.rb
|
205
|
+
- lib/findit/single.rb
|
186
206
|
- lib/findit/version.rb
|
187
207
|
- lib/findit/will_paginate.rb
|
188
208
|
homepage: https://github.com/abak-press/findit
|
@@ -194,17 +214,17 @@ require_paths:
|
|
194
214
|
- lib
|
195
215
|
required_ruby_version: !ruby/object:Gem::Requirement
|
196
216
|
requirements:
|
197
|
-
- -
|
217
|
+
- - ">="
|
198
218
|
- !ruby/object:Gem::Version
|
199
219
|
version: '0'
|
200
220
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
201
221
|
requirements:
|
202
|
-
- -
|
222
|
+
- - ">="
|
203
223
|
- !ruby/object:Gem::Version
|
204
224
|
version: '0'
|
205
225
|
requirements: []
|
206
226
|
rubyforge_project:
|
207
|
-
rubygems_version: 2.
|
227
|
+
rubygems_version: 2.5.1
|
208
228
|
signing_key:
|
209
229
|
specification_version: 4
|
210
230
|
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
|
-
|