power_enum 0.9.4 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +6 -0
- data/lib/power_enum/enumerated.rb +23 -3
- metadata +3 -3
data/README.markdown
CHANGED
@@ -293,6 +293,12 @@ As of version 0.8.0, you can pass in multiple arguments to `[]`. This returns a
|
|
293
293
|
passed in values. Duplicates are filtered out. For example `BookingStatus[arg1, arg2, arg3]` would be equivalent to
|
294
294
|
`[BookingStatus[arg1], BookingStatus[arg2], BookingStatus[arg3]]`.
|
295
295
|
|
296
|
+
##### contains?(arg) (since version 0.10.0)
|
297
|
+
|
298
|
+
`BookingStatus.contains?(arg)` returns `true if` the given Symbol, String or id has a member instance in the enumeration,
|
299
|
+
`false` otherwise. Returns `true` if the argument is an enum instance, returns `false` if the argument is `nil` or any
|
300
|
+
other value.
|
301
|
+
|
296
302
|
##### all
|
297
303
|
|
298
304
|
`BookingStatus.all` returns an array of all BookingStatus records that match the `:conditions` specified in
|
@@ -138,13 +138,13 @@ module PowerEnum::Enumerated
|
|
138
138
|
# Returns all the active enum values. See the 'active?' instance method.
|
139
139
|
def active
|
140
140
|
return @all_active if @all_active
|
141
|
-
@all_active = all.
|
141
|
+
@all_active = all.find_all{ |enum| enum.active? }.freeze
|
142
142
|
end
|
143
143
|
|
144
144
|
# Returns all the inactive enum values. See the 'inactive?' instance method.
|
145
145
|
def inactive
|
146
146
|
return @all_inactive if @all_inactive
|
147
|
-
@all_inactive = all.
|
147
|
+
@all_inactive = all.find_all{ |enum| !enum.active? }.freeze
|
148
148
|
end
|
149
149
|
|
150
150
|
# Returns the names of all the enum values as an array of symbols.
|
@@ -153,7 +153,8 @@ module PowerEnum::Enumerated
|
|
153
153
|
end
|
154
154
|
|
155
155
|
# Enum lookup by Symbol, String, or id. Returns <tt>arg<tt> if arg is
|
156
|
-
# an enum instance. Passing in a list of arguments returns a list of
|
156
|
+
# an enum instance. Passing in a list of arguments returns a list of
|
157
|
+
# enums. When called with no arguments, returns nil.
|
157
158
|
def [](*args)
|
158
159
|
case args.size
|
159
160
|
when 0
|
@@ -181,6 +182,25 @@ module PowerEnum::Enumerated
|
|
181
182
|
end
|
182
183
|
end
|
183
184
|
|
185
|
+
# Returns <tt>true</tt> if the given Symbol, String or id has a member
|
186
|
+
# instance in the enumeration, <tt>false</tt> otherwise. Returns <tt>true</tt>
|
187
|
+
# if the argument is an enum instance, returns <tt>false</tt> if the argument
|
188
|
+
# is nil or any other value.
|
189
|
+
def contains?(arg)
|
190
|
+
case arg
|
191
|
+
when Symbol
|
192
|
+
!!lookup_name(arg.id2name)
|
193
|
+
when String
|
194
|
+
!!lookup_name(arg)
|
195
|
+
when Fixnum
|
196
|
+
!!lookup_id(arg)
|
197
|
+
when self
|
198
|
+
true
|
199
|
+
else
|
200
|
+
false
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
184
204
|
# Deals with a lookup failure for the given argument.
|
185
205
|
def handle_lookup_failure(arg)
|
186
206
|
if (lookup_failure_handler = self.acts_enumerated_on_lookup_failure)
|
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.
|
4
|
+
version: 0.10.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2012-
|
15
|
+
date: 2012-12-30 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: rails
|
@@ -145,7 +145,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
145
145
|
version: '0'
|
146
146
|
segments:
|
147
147
|
- 0
|
148
|
-
hash:
|
148
|
+
hash: -1561438891797770640
|
149
149
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
150
|
none: false
|
151
151
|
requirements:
|