enum_accessor 2.1.0 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/lib/enum_accessor/version.rb +1 -1
- data/lib/enum_accessor.rb +5 -0
- data/spec/enum_accessor_spec.rb +13 -5
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60e65ef0574ce042d0b98a941f44eb90976d2914
|
4
|
+
data.tar.gz: 97748e321bc50f3367351029bf8a0e9ec732c0d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 67e951310fbc8606b6c57f886d1dd2da4ca4f84337e8d9298869409c96f99a89e2ada81c569572262fe3c0bd883c52a4723f48272227f64c747330ea7dd7d608
|
7
|
+
data.tar.gz: 1327b2625879e84acc8d42b5615b934078e99d426fbfe234e4b326871763b3dda3b744618a66777076890d9d14c08008e0b54105df1ccb7d1672e3677ddfe6d4
|
data/README.md
CHANGED
data/lib/enum_accessor.rb
CHANGED
@@ -89,6 +89,11 @@ module EnumAccessor
|
|
89
89
|
where(column => integers)
|
90
90
|
end
|
91
91
|
|
92
|
+
define_singleton_method "where_#{column}_not" do |*args|
|
93
|
+
integers = args.map{|arg| send(definition)[arg] }.compact
|
94
|
+
where.not(column => integers)
|
95
|
+
end
|
96
|
+
|
92
97
|
# Validation
|
93
98
|
if options.has_key?(:validate) or options.has_key?(:validation_options)
|
94
99
|
raise ArgumentError, 'validation options are updated. please refer to the documentation.'
|
data/spec/enum_accessor_spec.rb
CHANGED
@@ -131,11 +131,19 @@ describe EnumAccessor do
|
|
131
131
|
}.to change{ User.count }.by(1)
|
132
132
|
end
|
133
133
|
|
134
|
-
|
135
|
-
|
134
|
+
describe 'with a user' do
|
135
|
+
before do
|
136
|
+
user = User.create!(gender: :female)
|
137
|
+
end
|
138
|
+
|
139
|
+
it 'supports scope' do
|
140
|
+
expect(User.where_gender(:female).count).to eq(1)
|
141
|
+
expect(User.where_gender(:male, :female).count).to eq(1)
|
142
|
+
expect(User.where_gender(:male).count).to eq(0)
|
143
|
+
end
|
136
144
|
|
137
|
-
|
138
|
-
|
139
|
-
|
145
|
+
it 'supports negative scope' do
|
146
|
+
expect(User.where_gender_not(:male).count).to eq(1)
|
147
|
+
end
|
140
148
|
end
|
141
149
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: enum_accessor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kenn Ejima
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -105,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
105
105
|
version: '0'
|
106
106
|
requirements: []
|
107
107
|
rubyforge_project:
|
108
|
-
rubygems_version: 2.4
|
108
|
+
rubygems_version: 2.6.4
|
109
109
|
signing_key:
|
110
110
|
specification_version: 4
|
111
111
|
summary: Simple enum fields for ActiveRecord
|