power_enum 0.6.2 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -87,7 +87,7 @@ from a pre-test Rake task.
87
87
 
88
88
  ### migration
89
89
 
90
- If you're using Rails prior to 3.0, your migration file will look something like this:
90
+ If you're using Rails 3.0, your migration file will look something like this:
91
91
 
92
92
  class CreateEnumBookingStatus < ActiveRecord::Migration
93
93
 
@@ -101,7 +101,7 @@ If you're using Rails prior to 3.0, your migration file will look something like
101
101
 
102
102
  end
103
103
 
104
- If you're using Rails 3.1, it will look something like this:
104
+ If you're using Rails 3.1 or later, it will look something like this:
105
105
 
106
106
  class CreateEnumBookingStatus < ActiveRecord::Migration
107
107
 
@@ -257,6 +257,10 @@ method.
257
257
  `BookingStatus.inactive` returns an array of all BookingStatus records that are inactive. See the `inactive?` instance
258
258
  method.
259
259
 
260
+ ##### names (since version 0.6.3)
261
+
262
+ `BookingStatus.names` will return all the names of the defined enums as an array of symbols.
263
+
260
264
  #### Instance Methods
261
265
 
262
266
  Each enumeration model gets the following instance methods.
@@ -112,6 +112,11 @@ module ActiveRecord
112
112
  @all_inactive = all.select{ |enum| !enum.active? }.freeze
113
113
  end
114
114
 
115
+ # Returns the names of all the enum values as an array of symbols.
116
+ def names
117
+ all.map { |item| item.name_sym }
118
+ end
119
+
115
120
  # Enum lookup by Symbol, String, or id. Returns <tt>arg<tt> if arg is
116
121
  # an enum instance.
117
122
  def [](arg)
@@ -180,11 +185,13 @@ module ActiveRecord
180
185
 
181
186
  # ---Private methods---
182
187
 
188
+ # Returns a hash of all enumeration members keyed by their ids.
183
189
  def all_by_id
184
190
  @all_by_id ||= all_by_attribute( :id )
185
191
  end
186
192
  private :all_by_id
187
-
193
+
194
+ # Returns a hash of all the enumeration members keyed by their names.
188
195
  def all_by_name
189
196
  begin
190
197
  @all_by_name ||= all_by_attribute( :name )
@@ -256,7 +263,8 @@ module ActiveRecord
256
263
  # BookingStatus[:foo] === [:foo, :bar, :baz] #Returns true
257
264
  # BookingStatus[:foo] === nil #Returns false
258
265
  #
259
- # You should note that defining an +:on_lookup_failure+ method that raises an exception will cause +===+ to also raise an exception for any lookup failure of +BookingStatus[arg]+.
266
+ # You should note that defining an +:on_lookup_failure+ method that raises an exception will cause +===+ to
267
+ # also raise an exception for any lookup failure of +BookingStatus[arg]+.
260
268
  def ===(arg)
261
269
  case arg
262
270
  when nil
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: power_enum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,11 +12,11 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2012-02-29 00:00:00.000000000Z
15
+ date: 2012-05-19 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rails
19
- requirement: &22818940 !ruby/object:Gem::Requirement
19
+ requirement: !ruby/object:Gem::Requirement
20
20
  none: false
21
21
  requirements:
22
22
  - - ! '>='
@@ -24,10 +24,15 @@ dependencies:
24
24
  version: 3.0.0
25
25
  type: :runtime
26
26
  prerelease: false
27
- version_requirements: *22818940
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 3.0.0
28
33
  - !ruby/object:Gem::Dependency
29
34
  name: jeweler
30
- requirement: &22817680 !ruby/object:Gem::Requirement
35
+ requirement: !ruby/object:Gem::Requirement
31
36
  none: false
32
37
  requirements:
33
38
  - - ! '>='
@@ -35,10 +40,15 @@ dependencies:
35
40
  version: '0'
36
41
  type: :development
37
42
  prerelease: false
38
- version_requirements: *22817680
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ none: false
45
+ requirements:
46
+ - - ! '>='
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
39
49
  - !ruby/object:Gem::Dependency
40
50
  name: rspec
41
- requirement: &22816480 !ruby/object:Gem::Requirement
51
+ requirement: !ruby/object:Gem::Requirement
42
52
  none: false
43
53
  requirements:
44
54
  - - ! '>='
@@ -46,10 +56,15 @@ dependencies:
46
56
  version: '0'
47
57
  type: :development
48
58
  prerelease: false
49
- version_requirements: *22816480
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ none: false
61
+ requirements:
62
+ - - ! '>='
63
+ - !ruby/object:Gem::Version
64
+ version: '0'
50
65
  - !ruby/object:Gem::Dependency
51
66
  name: sqlite3
52
- requirement: &22814660 !ruby/object:Gem::Requirement
67
+ requirement: !ruby/object:Gem::Requirement
53
68
  none: false
54
69
  requirements:
55
70
  - - ! '>='
@@ -57,18 +72,28 @@ dependencies:
57
72
  version: '0'
58
73
  type: :development
59
74
  prerelease: false
60
- version_requirements: *22814660
75
+ version_requirements: !ruby/object:Gem::Requirement
76
+ none: false
77
+ requirements:
78
+ - - ! '>='
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
61
81
  - !ruby/object:Gem::Dependency
62
82
  name: genspec
63
- requirement: &22812580 !ruby/object:Gem::Requirement
83
+ requirement: !ruby/object:Gem::Requirement
64
84
  none: false
65
85
  requirements:
66
- - - =
86
+ - - '='
67
87
  - !ruby/object:Gem::Version
68
88
  version: 0.2.1
69
89
  type: :development
70
90
  prerelease: false
71
- version_requirements: *22812580
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ none: false
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 0.2.1
72
97
  description: ! 'Power Enum allows you to treat instances of your ActiveRecord models
73
98
  as though they were an enumeration of values.
74
99
 
@@ -116,9 +141,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
116
141
  - - ! '>='
117
142
  - !ruby/object:Gem::Version
118
143
  version: '0'
119
- segments:
120
- - 0
121
- hash: -2214178146934269601
122
144
  required_rubygems_version: !ruby/object:Gem::Requirement
123
145
  none: false
124
146
  requirements:
@@ -127,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
149
  version: '0'
128
150
  requirements: []
129
151
  rubyforge_project:
130
- rubygems_version: 1.8.10
152
+ rubygems_version: 1.8.24
131
153
  signing_key:
132
154
  specification_version: 3
133
155
  summary: Allows you to treat instances of your ActiveRecord models as though they