embark-journey 0.0.14 → 0.0.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/journey/resource/enum_sets.rb +19 -6
- data/lib/journey/resource/enums.rb +2 -2
- data/lib/journey/version.rb +1 -1
- data/spec/models/journey/resource_spec.rb +5 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b77138254b5e0798166326dbc1c358ef737030d
|
4
|
+
data.tar.gz: 004fb01ba67f78d0ff4a105c42c7e74f945fb048
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1c716e4eaa31dc97d3e7fb4580279d1e51dea714e4ba7d1f670d34e52e7d55b8f9f693d902c91123f06ba7a7dccba192eb7ddf8c35b222d51cf090787c981e55
|
7
|
+
data.tar.gz: 44ab1288bc9095847d84438a16a4bff6c182df9e3eacad06cef241423c6d99c58212b33cf8dcc1b83082f5466ad9db8b2f12e6cf37f5aa2a3acac73a20e6896c
|
data/CHANGELOG.md
CHANGED
@@ -12,16 +12,29 @@ module Journey::Resource::EnumSets
|
|
12
12
|
end
|
13
13
|
|
14
14
|
define_method attr do
|
15
|
-
|
16
|
-
|
15
|
+
arr = attributes[attr.to_s].presence || []
|
16
|
+
arr.map do |member|
|
17
|
+
if member.is_a?(Fixnum)
|
18
|
+
self.class.const_get(collection_const_name)[member]
|
19
|
+
else
|
20
|
+
member
|
21
|
+
end
|
22
|
+
end
|
17
23
|
end
|
18
24
|
|
19
25
|
define_method "add_#{attr}" do |value|
|
20
|
-
|
21
|
-
|
22
|
-
|
26
|
+
attr_values = send("#{attr}_values")
|
27
|
+
|
28
|
+
value_index = if value.is_a?(Fixnum)
|
29
|
+
value
|
30
|
+
else
|
31
|
+
attr_values.index(value)
|
32
|
+
end
|
33
|
+
|
34
|
+
if (0..attr_values.size-1).include? value_index
|
35
|
+
(attributes[attr.to_s] ||= []) << value_index
|
23
36
|
else
|
24
|
-
raise "Invalid enum '#{
|
37
|
+
raise "Invalid enum '#{value}' for '#{attr}'"
|
25
38
|
end
|
26
39
|
end
|
27
40
|
end
|
@@ -14,7 +14,7 @@ module Journey::Resource::Enums
|
|
14
14
|
instance_eval do
|
15
15
|
attr_accessor :"#{attr}_index"
|
16
16
|
end
|
17
|
-
|
17
|
+
|
18
18
|
define_method attr do
|
19
19
|
value = attributes[attr.to_s].presence
|
20
20
|
if value.is_a?(Fixnum)
|
@@ -23,7 +23,7 @@ module Journey::Resource::Enums
|
|
23
23
|
value
|
24
24
|
end
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
define_method "#{attr}=" do |value|
|
28
28
|
attributes[attr.to_s] = value.presence
|
29
29
|
end
|
data/lib/journey/version.rb
CHANGED
@@ -96,6 +96,11 @@ describe Journey::Resource do
|
|
96
96
|
expect(r.asset_type).to eq []
|
97
97
|
end
|
98
98
|
|
99
|
+
it 'converts integer indices to corresponding keys' do
|
100
|
+
r = klass.create(name: 'X', asset_type: [0])
|
101
|
+
expect(r.asset_type).to eq [klass::ASSET_TYPES.first]
|
102
|
+
end
|
103
|
+
|
99
104
|
it 'safely adds members' do
|
100
105
|
r = klass.create(name: 'X', asset_type: nil)
|
101
106
|
r = klass.find(r.id)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: embark-journey
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Davey
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active_attr
|