missile_emitter 0.3.10 → 0.3.11

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
  SHA256:
3
- metadata.gz: dd0227814823c25214faacb834eda176b0e6109c722d60002fc97aaec77b1260
4
- data.tar.gz: 764b2d98231e59abd9ebd819d23bf585c665d49977065c48de4b4cef4a42d86b
3
+ metadata.gz: 9d225c1def8cf6ef48cce67f43d20d5951d301a0a40e357c346092262f9dddef
4
+ data.tar.gz: 980be4ba187119738d3bf629cfb1e09838e0b75e601faf3f6023172129bbac65
5
5
  SHA512:
6
- metadata.gz: 3d2aa7e2e8b6a97af8066a372ced947949ebcf8de31dea1fa8810db3680075d6f9f4320a9a089a0cce745895bcbc0cbdf60b819e39f4f35f6b849501ed9b6fe0
7
- data.tar.gz: c6b0f541524eacf29030b95900dbf50ab07ecd68d1e1298cc393e05a1e9507c980a69e710030b5e6f30a41fee198fab45d50930ad1020a1e7bcdc37e41532c11
6
+ metadata.gz: 32138126bf5c2c0457d7944f44415312418b0140dc29a1f5383969a9701325e327f3bca03aab84158a181279296dcfd976fa8469e6f875c2aacddf56c77041c8
7
+ data.tar.gz: 1fbac0eca4068ba5d76d075d8a5443bde8f61392ace638e109daecad14c64970f5462d490a39d20603a9940cefa54bf10b2e7daf467231b2a83d81149a50ae74
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- missile_emitter (0.3.10)
4
+ missile_emitter (0.3.11)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -38,4 +38,4 @@ DEPENDENCIES
38
38
  rspec (~> 3.0)
39
39
 
40
40
  BUNDLED WITH
41
- 2.0.2
41
+ 2.1.2
data/README.md CHANGED
@@ -110,26 +110,22 @@ module Searchable
110
110
  (conditions[klass] ||= {}.with_indifferent_access)[key] = block
111
111
  end
112
112
 
113
- extend ActiveSupport::Concern
114
-
115
- included do
116
-
117
- define_singleton_method :search do |hash|
118
- hash.reduce all do |relation, (key, value)|
119
- next relation if value.blank? # ignore empty value
120
-
121
- if filter = conditions.fetch(self, {})[key]
122
- relation.extending do
123
- # Just for fun :)
124
- define_method(:_) { value }
125
- end.instance_exec(value, &filter)
126
- elsif column_names.include?(key)
127
- relation.where key => value
128
- else
129
- relation
130
- end
113
+ define_method :search do |hash|
114
+ hash.reduce all do |relation, (key, value)|
115
+ next relation if value.blank? # ignore empty value
116
+
117
+ if filter = conditions.fetch(self, {})[key]
118
+ relation.extending do
119
+ # Just for fun :) With Ruby >= 2.7 you can use _1 instead of _.
120
+ define_method(:_) { value }
121
+ end.instance_exec(value, &filter)
122
+ elsif column_names.include?(key.to_s)
123
+ relation.where key => value
124
+ else
125
+ relation
131
126
  end
132
127
  end
128
+ end
133
129
 
134
130
  end
135
131
  ```
@@ -138,7 +134,7 @@ end
138
134
 
139
135
  ```ruby
140
136
  class Person < ApplicationRecord
141
- include Searchable {
137
+ extend Searchable {
142
138
  name_like { |keyword| where 'name like ?', "%#{keyword}%" }
143
139
  older_than { where 'age >= ?', _ }
144
140
  }
@@ -9,24 +9,19 @@ module MissileEmitter
9
9
  (conditions[klass] ||= {}.with_indifferent_access)[key] = block
10
10
  end
11
11
 
12
- extend ActiveSupport::Concern
12
+ define_method :search do |hash|
13
+ hash.reduce all do |relation, (key, value)|
14
+ next relation if value.blank? # ignore empty value
13
15
 
14
- included do
15
-
16
- define_singleton_method :search do |hash|
17
- hash.reduce all do |relation, (key, value)|
18
- next relation if value.blank? # ignore empty value
19
-
20
- if filter = conditions.fetch(self, {})[key]
21
- relation.extending do
22
- # Just for fun :)
23
- define_method(:_) { value }
24
- end.instance_exec(value, &filter)
25
- elsif column_names.include?(key.to_s)
26
- relation.where key => value
27
- else
28
- relation
29
- end
16
+ if filter = conditions.fetch(self, {})[key]
17
+ relation.extending do
18
+ # Just for fun :) With Ruby >= 2.7 you can use _1 instead of _.
19
+ define_method(:_) { value }
20
+ end.instance_exec(value, &filter)
21
+ elsif column_names.include?(key.to_s)
22
+ relation.where key => value
23
+ else
24
+ relation
30
25
  end
31
26
  end
32
27
  end
@@ -1,3 +1,3 @@
1
1
  module MissileEmitter
2
- VERSION = "0.3.10"
2
+ VERSION = "0.3.11"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: missile_emitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.10
4
+ version: 0.3.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jerry Chen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-01-09 00:00:00.000000000 Z
11
+ date: 2020-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -115,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
115
  - !ruby/object:Gem::Version
116
116
  version: '0'
117
117
  requirements: []
118
- rubygems_version: 3.0.3
118
+ rubygems_version: 3.1.2
119
119
  signing_key:
120
120
  specification_version: 4
121
121
  summary: Ruby元编程辅助工具