enum_accessor 2.1.0 → 2.2.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/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
|