power_enum 0.6.2 → 0.6.3

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/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