enumerate_it 1.2.3 → 1.2.4
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/Gemfile.lock +1 -1
- data/lib/enumerate_it/base.rb +3 -1
- data/lib/enumerate_it/version.rb +1 -1
- data/spec/enumerate_it/base_spec.rb +10 -0
- data/spec/enumerate_it_spec.rb +7 -1
- metadata +4 -4
data/Gemfile.lock
CHANGED
data/lib/enumerate_it/base.rb
CHANGED
@@ -56,11 +56,13 @@ module EnumerateIt
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def self.values_for(values)
|
59
|
-
values.map { |v| self.
|
59
|
+
values.map { |v| self.value_for v.to_sym }
|
60
60
|
end
|
61
61
|
|
62
62
|
def self.value_for(value)
|
63
63
|
self.const_get(value.to_sym)
|
64
|
+
rescue NameError
|
65
|
+
nil
|
64
66
|
end
|
65
67
|
|
66
68
|
def self.keys
|
data/lib/enumerate_it/version.rb
CHANGED
@@ -97,12 +97,22 @@ describe EnumerateIt::Base do
|
|
97
97
|
it "returns an array with the corresponding values for a string array representing some of the enumeration's values" do
|
98
98
|
TestEnumeration.values_for(%w(VALUE_1 VALUE_2)).should == [TestEnumeration::VALUE_1, TestEnumeration::VALUE_2]
|
99
99
|
end
|
100
|
+
|
101
|
+
it "returns a nil value if the a constant named after one of the given strings cannot be found" do
|
102
|
+
TestEnumeration.values_for(%w(VALUE_1 THIS_IS_WRONG)).should == [TestEnumeration::VALUE_1, nil]
|
103
|
+
end
|
100
104
|
end
|
101
105
|
|
102
106
|
describe ".value_for" do
|
103
107
|
it "returns the enumeration's value" do
|
104
108
|
TestEnumeration.value_for("VALUE_1").should == TestEnumeration::VALUE_1
|
105
109
|
end
|
110
|
+
|
111
|
+
context "when a constant named after the received value cannot be found" do
|
112
|
+
it "returns nil" do
|
113
|
+
TestEnumeration.value_for("THIS_IS_WRONG").should be_nil
|
114
|
+
end
|
115
|
+
end
|
106
116
|
end
|
107
117
|
|
108
118
|
describe ".keys" do
|
data/spec/enumerate_it_spec.rb
CHANGED
@@ -262,9 +262,15 @@ describe EnumerateIt do
|
|
262
262
|
end
|
263
263
|
|
264
264
|
context "when the hosting class do not respond to :scope" do
|
265
|
+
before do
|
266
|
+
class GenericClass
|
267
|
+
extend EnumerateIt
|
268
|
+
end
|
269
|
+
end
|
270
|
+
|
265
271
|
it "raises no errors" do
|
266
272
|
expect {
|
267
|
-
|
273
|
+
GenericClass.send(:has_enumeration_for, :foobar, :with => TestEnumeration, :create_scopes => true)
|
268
274
|
}.to_not raise_error
|
269
275
|
end
|
270
276
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: enumerate_it
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2015-02-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -155,7 +155,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
155
155
|
segments:
|
156
156
|
- 0
|
157
157
|
version: '0'
|
158
|
-
hash:
|
158
|
+
hash: 786857682386495207
|
159
159
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
160
160
|
none: false
|
161
161
|
requirements:
|
@@ -164,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
164
164
|
segments:
|
165
165
|
- 0
|
166
166
|
version: '0'
|
167
|
-
hash:
|
167
|
+
hash: 786857682386495207
|
168
168
|
requirements: []
|
169
169
|
rubyforge_project:
|
170
170
|
rubygems_version: 1.8.24
|