enumerize 0.5.0 → 0.5.1
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.
- data/CHANGELOG.md +6 -0
- data/README.md +8 -8
- data/lib/enumerize/attribute.rb +3 -3
- data/lib/enumerize/version.rb +1 -1
- data/test/activerecord_test.rb +1 -0
- metadata +14 -14
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
## 0.5.1 (December 10, 2012) ##
|
2
|
+
|
3
|
+
### bug fix
|
4
|
+
|
5
|
+
* Always return Enumerize::Set for multiple attributes (by [@nashby](https://github.com/nashby))
|
6
|
+
|
1
7
|
## 0.5.0 (October 31, 2012) ##
|
2
8
|
|
3
9
|
The previous method of adding enumerize to a class was deprecated. Please use
|
data/README.md
CHANGED
@@ -24,7 +24,7 @@ Basic:
|
|
24
24
|
class User
|
25
25
|
extend Enumerize
|
26
26
|
|
27
|
-
enumerize :sex, :
|
27
|
+
enumerize :sex, in: [:male, :female]
|
28
28
|
end
|
29
29
|
```
|
30
30
|
|
@@ -34,9 +34,9 @@ ActiveRecord:
|
|
34
34
|
class User < ActiveRecord::Base
|
35
35
|
extend Enumerize
|
36
36
|
|
37
|
-
enumerize :sex, :
|
37
|
+
enumerize :sex, in: [:male, :female]
|
38
38
|
|
39
|
-
enumerize :role, :
|
39
|
+
enumerize :role, in: [:user, :admin], default: :user
|
40
40
|
end
|
41
41
|
```
|
42
42
|
|
@@ -48,7 +48,7 @@ class User
|
|
48
48
|
extend Enumerize
|
49
49
|
|
50
50
|
field :role
|
51
|
-
enumerize :role, :
|
51
|
+
enumerize :role, in: [:user, :admin], default: :user
|
52
52
|
end
|
53
53
|
```
|
54
54
|
|
@@ -142,7 +142,7 @@ To make some attributes shared across different classes it's possible to define
|
|
142
142
|
module PersonEnumerations
|
143
143
|
extend Enumerize
|
144
144
|
|
145
|
-
enumerize :sex, :
|
145
|
+
enumerize :sex, in: %w[male female]
|
146
146
|
end
|
147
147
|
|
148
148
|
class Person
|
@@ -160,7 +160,7 @@ It's also possible to store enumerized attribute value using custom values (e.g.
|
|
160
160
|
class User < ActiveRecord::Base
|
161
161
|
extend Enumerize
|
162
162
|
|
163
|
-
enumerize :role, :
|
163
|
+
enumerize :role, in: {:user => 1, :admin => 2}
|
164
164
|
end
|
165
165
|
```
|
166
166
|
|
@@ -170,7 +170,7 @@ Array-like attributes with plain ruby objects:
|
|
170
170
|
class User
|
171
171
|
extend Enumerize
|
172
172
|
|
173
|
-
enumerize :interests, :
|
173
|
+
enumerize :interests, in: [:music, :sports], multiple: true
|
174
174
|
end
|
175
175
|
|
176
176
|
user = User.new
|
@@ -185,7 +185,7 @@ class User < ActiveRecord::Base
|
|
185
185
|
extend Enumerize
|
186
186
|
|
187
187
|
serialize :interests, Array
|
188
|
-
enumerize :interests, :
|
188
|
+
enumerize :interests, in: [:music, :sports], multiple: true
|
189
189
|
end
|
190
190
|
```
|
191
191
|
|
data/lib/enumerize/attribute.rb
CHANGED
@@ -69,9 +69,7 @@ module Enumerize
|
|
69
69
|
def define_methods!(mod)
|
70
70
|
mod.module_eval <<-RUBY, __FILE__, __LINE__ + 1
|
71
71
|
def #{name}
|
72
|
-
|
73
|
-
@_#{name}_enumerized_set
|
74
|
-
else
|
72
|
+
unless defined?(@_#{name}_enumerized_set)
|
75
73
|
if defined?(super)
|
76
74
|
self.#{name} = super
|
77
75
|
else
|
@@ -82,6 +80,8 @@ module Enumerize
|
|
82
80
|
end
|
83
81
|
end
|
84
82
|
end
|
83
|
+
|
84
|
+
@_#{name}_enumerized_set
|
85
85
|
end
|
86
86
|
|
87
87
|
def #{name}=(values)
|
data/lib/enumerize/version.rb
CHANGED
data/test/activerecord_test.rb
CHANGED
metadata
CHANGED
@@ -1,32 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: enumerize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.5.1
|
4
5
|
prerelease:
|
5
|
-
version: 0.5.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Sergey Nartimov
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-10
|
12
|
+
date: 2012-12-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
|
15
|
+
type: :runtime
|
16
|
+
version_requirements: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '3.2'
|
22
|
+
prerelease: false
|
23
|
+
name: activesupport
|
24
|
+
requirement: !ruby/object:Gem::Requirement
|
20
25
|
none: false
|
21
|
-
type: :runtime
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
27
|
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '3.2'
|
27
|
-
none: false
|
28
|
-
prerelease: false
|
29
|
-
name: activesupport
|
30
30
|
description: Enumerated attributes with I18n and ActiveRecord/Mongoid support
|
31
31
|
email: team@brainspec.com
|
32
32
|
executables: []
|
@@ -76,23 +76,23 @@ rdoc_options: []
|
|
76
76
|
require_paths:
|
77
77
|
- lib
|
78
78
|
required_ruby_version: !ruby/object:Gem::Requirement
|
79
|
+
none: false
|
79
80
|
requirements:
|
80
81
|
- - ! '>='
|
81
82
|
- !ruby/object:Gem::Version
|
82
|
-
hash: -4428159694445712973
|
83
|
-
version: '0'
|
84
83
|
segments:
|
85
84
|
- 0
|
86
|
-
|
85
|
+
hash: -178434692500399788
|
86
|
+
version: '0'
|
87
87
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
|
+
none: false
|
88
89
|
requirements:
|
89
90
|
- - ! '>='
|
90
91
|
- !ruby/object:Gem::Version
|
91
|
-
hash: -4428159694445712973
|
92
|
-
version: '0'
|
93
92
|
segments:
|
94
93
|
- 0
|
95
|
-
|
94
|
+
hash: -178434692500399788
|
95
|
+
version: '0'
|
96
96
|
requirements: []
|
97
97
|
rubyforge_project:
|
98
98
|
rubygems_version: 1.8.23
|