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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8d55d176ac9bb908cb4db598a6c58126b88abc8f
4
- data.tar.gz: 3aa1ca869f36a19c21f65b5cb853459306cc878a
3
+ metadata.gz: 60e65ef0574ce042d0b98a941f44eb90976d2914
4
+ data.tar.gz: 97748e321bc50f3367351029bf8a0e9ec732c0d5
5
5
  SHA512:
6
- metadata.gz: 664d056bcc81faa2ad01861a1a2cb2cc9400889648aa0883c8c38acc4fbce374d52ef050226ea0496b36866b34fc65ec33b6a08fe62e8ea83087aa34f77b3073
7
- data.tar.gz: 4d85f92d53fe5e9339853c74449ef83f62150159af3142717cd7e2884ec7047b4773892cf3865f410f7bbbcf329d21963479231b1333cc786c779cde21355402
6
+ metadata.gz: 67e951310fbc8606b6c57f886d1dd2da4ca4f84337e8d9298869409c96f99a89e2ada81c569572262fe3c0bd883c52a4723f48272227f64c747330ea7dd7d608
7
+ data.tar.gz: 1327b2625879e84acc8d42b5615b934078e99d426fbfe234e4b326871763b3dda3b744618a66777076890d9d14c08008e0b54105df1ccb7d1672e3677ddfe6d4
data/README.md CHANGED
@@ -137,6 +137,8 @@ Thanks to the translation support, forms just work as you expect. Pass an invert
137
137
 
138
138
  ## Changelog
139
139
 
140
+ - v2.2:
141
+ - Added `where_gender_not(:female)` scope
140
142
  - v2.1:
141
143
  - Support for uniqueness validation
142
144
  - v2.0:
@@ -1,3 +1,3 @@
1
1
  module EnumAccessor
2
- VERSION = '2.1.0'
2
+ VERSION = '2.2.0'
3
3
  end
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.'
@@ -131,11 +131,19 @@ describe EnumAccessor do
131
131
  }.to change{ User.count }.by(1)
132
132
  end
133
133
 
134
- it 'supports scope' do
135
- user = User.create!(gender: :female)
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
- expect(User.where_gender(:female).count).to eq(1)
138
- expect(User.where_gender(:male, :female).count).to eq(1)
139
- expect(User.where_gender(:male).count).to eq(0)
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.1.0
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: 2015-12-29 00:00:00.000000000 Z
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.8
108
+ rubygems_version: 2.6.4
109
109
  signing_key:
110
110
  specification_version: 4
111
111
  summary: Simple enum fields for ActiveRecord