activerecord-grouping_enum 0.1.0 → 1.0.0

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: e61c19aaa99aef3eb517943283a64d18ee081e4a
4
- data.tar.gz: d5825cb43d374b8f9231126c5072f403d2b5e039
3
+ metadata.gz: 99b15a6aca80d09d560d3f356b2229bad160276d
4
+ data.tar.gz: c926ddf0ecc4ece6474f1adf7184b3a6c9885daa
5
5
  SHA512:
6
- metadata.gz: 64fc5c631ce2af68e63d5fcc0d32ccfec64aa1c466fe2962e2df1136d4bc2f45c807e7ee7d9451177b4a1c40830a7a549770550de16c376ca86c9f2c03108abf
7
- data.tar.gz: cf65c9b20cf6ab1093e1ec23e4d8d9d4531aaae98082c9387e5d7197c2d39125d28c795981fc680650280f0024a83e03c1201958b65c573d50b1b5248e09a931
6
+ metadata.gz: 390d935d1f174c4ac7820262d670fc5ca667fa43ac2515ae484ff2f7dd53bdae22dced102dc4769e6d8ad2ce2b56366b9781607130323be737e4a68886ac0828
7
+ data.tar.gz: cd5c48ba881b6b6216b5a94a854f891eedb9b04924bbd974d1416e38f6b9edec08d9760cb1d4b69ea85fb27d6d2ea377b8a51066cccbd181be8a8b62699c7c3e
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ActiveRecord::GroupingEnum
2
2
 
3
- Allows you to group enum and can use enum's scope and boolean method.
3
+ Grouping the enum of ActiveRecord
4
4
 
5
5
  ## Installation
6
6
 
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Tomohiro Suwa"]
10
10
  spec.email = ["neoen.gsn@gmail.com"]
11
11
 
12
- spec.summary = %q{Allows you to group enum}
13
- spec.description = %q{Allows you to group enum and can use enum's scope and boolean methods.}
12
+ spec.summary = %q{Grouping the enum of ActiveRecord}
13
+ spec.description = %q{Grouping the enum of ActiveRecord}
14
14
  spec.homepage = "https://github.com/tsuwatch/activerecord-grouping_enum"
15
15
  spec.license = "MIT"
16
16
 
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.add_runtime_dependency 'activerecord', '>=4.1.0'
22
+ spec.add_runtime_dependency 'activerecord', '~> 5.0.0'
23
23
 
24
24
  spec.add_development_dependency "bundler", "~> 1.11"
25
25
  spec.add_development_dependency "rake", "~> 10.0"
@@ -7,21 +7,14 @@ module ActiveRecord
7
7
  values.each do |key, enums|
8
8
  _grouping_enum_methods_module.module_eval do
9
9
  klass.send(:detect_enum_conflict!, name, "#{key}?")
10
- define_method("#{key}?") do
11
- values = []
12
- enums.each do |enum|
13
- values << klass.defined_enums[name.to_s].fetch(enum.to_s)
14
- end
15
- values.include?(self[name])
16
- end
10
+ define_method("#{key}?") { enums.map(&:to_s).include?(self[name]) }
17
11
 
18
- klass.send(:detect_enum_conflict!, name, "#{key}", true)
19
- klass.scope "#{key}", lambda {
20
- query = "#{name} == #{klass.defined_enums[name.to_s][enums.shift.to_s]}"
21
- enums.each do |enum|
22
- query << " or #{name} == #{klass.defined_enums[name.to_s][enum.to_s]}"
12
+ klass.send(:detect_enum_conflict!, name, key.to_s, true)
13
+ klass.scope key.to_s, lambda {
14
+ clause = enums.each_with_object Hash.new { |h, k| h[k] = [] } do |enum, obj|
15
+ obj[name] << klass.public_send(name.to_s.pluralize.to_sym)[enum.to_s]
23
16
  end
24
- klass.where(query)
17
+ klass.where(clause)
25
18
  }
26
19
  end
27
20
  end
@@ -1,5 +1,5 @@
1
1
  module ActiveRecord
2
2
  module GroupingEnum
3
- VERSION = "0.1.0"
3
+ VERSION = "1.0.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-grouping_enum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomohiro Suwa
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-06 00:00:00.000000000 Z
11
+ date: 2016-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 4.1.0
19
+ version: 5.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 4.1.0
26
+ version: 5.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -122,7 +122,7 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
- description: Allows you to group enum and can use enum's scope and boolean methods.
125
+ description: Grouping the enum of ActiveRecord
126
126
  email:
127
127
  - neoen.gsn@gmail.com
128
128
  executables: []
@@ -164,5 +164,5 @@ rubyforge_project:
164
164
  rubygems_version: 2.4.5.1
165
165
  signing_key:
166
166
  specification_version: 4
167
- summary: Allows you to group enum
167
+ summary: Grouping the enum of ActiveRecord
168
168
  test_files: []