enum_accessor 2.2.0 → 2.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 60e65ef0574ce042d0b98a941f44eb90976d2914
4
- data.tar.gz: 97748e321bc50f3367351029bf8a0e9ec732c0d5
3
+ metadata.gz: 2a12b99c33063cb599ab92e5a3feb0083ad1f35b
4
+ data.tar.gz: f24cc89ad1f3274d33294714b72fe252afc9a9ac
5
5
  SHA512:
6
- metadata.gz: 67e951310fbc8606b6c57f886d1dd2da4ca4f84337e8d9298869409c96f99a89e2ada81c569572262fe3c0bd883c52a4723f48272227f64c747330ea7dd7d608
7
- data.tar.gz: 1327b2625879e84acc8d42b5615b934078e99d426fbfe234e4b326871763b3dda3b744618a66777076890d9d14c08008e0b54105df1ccb7d1672e3677ddfe6d4
6
+ metadata.gz: 5f221354b5f7c6d0b2ec91acf1132cd7905b6ccd903f473430ee2554d3c4c822dc5fdf020cc1eba856958df55456ad1af9e025fced80cc1bc0cd97e954499767
7
+ data.tar.gz: 8bfa84f27488881d8826bd454230e1cedd41a30c7f019f6dd27c965048632547c83871ebcbcbf6e2fad0be48de906d9ea141f303402a83f181fdb12184551d83
data/README.md CHANGED
@@ -41,6 +41,9 @@ user.gender = :male
41
41
  user.gender_female? # => false
42
42
  user.gender_raw # => 1
43
43
 
44
+ user.gender_male!
45
+ user.gender_male? # => true
46
+
44
47
  User.genders # => { 'female' => 0, 'male' => 1 }
45
48
  ```
46
49
 
@@ -137,6 +140,8 @@ Thanks to the translation support, forms just work as you expect. Pass an invert
137
140
 
138
141
  ## Changelog
139
142
 
143
+ - v2.3:
144
+ Added `gender_female!` bang setter
140
145
  - v2.2:
141
146
  - Added `where_gender_not(:female)` scope
142
147
  - v2.1:
@@ -56,6 +56,13 @@ module EnumAccessor
56
56
  end
57
57
  end
58
58
 
59
+ # Setter !
60
+ send(definition).each do |key, int|
61
+ define_method("#{column}_#{key}!") do
62
+ update! column => int
63
+ end
64
+ end
65
+
59
66
  # Human-friendly print
60
67
  define_method("human_#{column}") do
61
68
  self.class.send("human_#{definition}")[send(column)]
@@ -1,3 +1,3 @@
1
1
  module EnumAccessor
2
- VERSION = '2.2.0'
2
+ VERSION = '2.3.0'
3
3
  end
@@ -36,6 +36,14 @@ describe EnumAccessor do
36
36
  expect(@user.gender.nil?).to eq(true)
37
37
  end
38
38
 
39
+ it 'adds setter !' do
40
+ @user.gender_male!
41
+ expect(@user.gender_male?).to eq(true)
42
+
43
+ @user.gender_female!
44
+ expect(@user.gender_female?).to eq(true)
45
+ end
46
+
39
47
  it 'adds raw value getter' do
40
48
  expect(@user.gender_raw).to eq(0)
41
49
  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.2.0
4
+ version: 2.3.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: 2016-05-02 00:00:00.000000000 Z
11
+ date: 2016-06-12 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.6.4
108
+ rubygems_version: 2.5.1
109
109
  signing_key:
110
110
  specification_version: 4
111
111
  summary: Simple enum fields for ActiveRecord