embark-journey 0.0.12 → 0.0.13
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -5
- data/lib/journey/resource.rb +2 -0
- data/lib/journey/resource/enum_sets.rb +17 -0
- data/lib/journey/version.rb +1 -1
- data/spec/models/journey/resource_spec.rb +40 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2ad3f26b1c980139030a43b554030ac7d43f8246
|
4
|
+
data.tar.gz: c5aa132975c69b278b67151707e267ab21906a9f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f08907a7804af244357048bb9cfef6d70f444759a2590ffb149204c34a3f158551d301a6bda4de0f447f66c7d69f049e784715aa75653389db387d664360902
|
7
|
+
data.tar.gz: 8688a15c4e143a35f7ed7d2da34ff05687c08696cfe81625f611fce52e849d281ecd7e5052c8aadd5c50d75b78e8fc4311c2f2d96ef103d8528791fb8de15db8
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,15 @@
|
|
1
|
-
v0.0.
|
2
|
-
-
|
3
|
-
|
1
|
+
v0.0.13
|
2
|
+
- Adds enum_set
|
3
|
+
|
4
|
+
v0.0.12
|
5
|
+
- Fixes some associated attribute vanishing
|
6
|
+
|
7
|
+
v0.0.11
|
8
|
+
- Adds opt-out for embeds via finder opts e.g. `Klass.all(embed: false)`
|
4
9
|
|
5
10
|
v0.0.10
|
6
11
|
- Adds Journey::Resource.count
|
7
12
|
|
8
|
-
v0.0.
|
9
|
-
-
|
13
|
+
v0.0.9
|
14
|
+
- Rescues from ActiveResource::ResourceNotFound when association_id is set but object doesn't exist
|
15
|
+
- Fixes embeds for associations with names different from their class
|
data/lib/journey/resource.rb
CHANGED
@@ -21,6 +21,7 @@ end
|
|
21
21
|
require 'journey/resource/api'
|
22
22
|
require 'journey/resource/attribute_loading'
|
23
23
|
require 'journey/resource/enums'
|
24
|
+
require 'journey/resource/enum_sets'
|
24
25
|
require 'journey/resource/queries'
|
25
26
|
require 'journey/resource/search'
|
26
27
|
require 'journey/resource/embed'
|
@@ -30,6 +31,7 @@ class Journey::Resource
|
|
30
31
|
include API
|
31
32
|
include Queries
|
32
33
|
include Enums
|
34
|
+
include EnumSets
|
33
35
|
include AttributeLoading
|
34
36
|
include Search
|
35
37
|
include Embed
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'active_support/concern'
|
2
|
+
|
3
|
+
module Journey::Resource::EnumSets
|
4
|
+
extend ActiveSupport::Concern
|
5
|
+
|
6
|
+
included do
|
7
|
+
def self.enum_set(attr, collection=[])
|
8
|
+
collection_const_name = attr.to_s.pluralize.upcase.to_sym
|
9
|
+
const_set collection_const_name, collection.freeze
|
10
|
+
define_method "#{attr}_values" do
|
11
|
+
self.class.const_get(collection_const_name)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
data/lib/journey/version.rb
CHANGED
@@ -55,6 +55,45 @@ describe Journey::Resource do
|
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
58
|
+
|
59
|
+
describe '::EnumSets' do
|
60
|
+
let(:klass) do
|
61
|
+
Class.new(Journey::Resource) do
|
62
|
+
self.element_name = 'fault'
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
describe '.enum_set' do
|
67
|
+
let(:asset_types) { %w[ABM ATM] }
|
68
|
+
|
69
|
+
before do
|
70
|
+
klass.enum_set :asset_type, asset_types
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'stores the collection' do
|
74
|
+
expect(klass::ASSET_TYPES).to eq(asset_types)
|
75
|
+
expect(klass.new.asset_type_values).to eq(asset_types)
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'gets and sets enumerated attributes' do
|
79
|
+
r = klass.create(name: 'X')
|
80
|
+
expect(r).to be_persisted
|
81
|
+
r.asset_type = ['ATM']
|
82
|
+
r.save
|
83
|
+
r = klass.find(r.id)
|
84
|
+
expect(r.asset_type).to eq(['ATM'])
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'remembers enum values' do
|
88
|
+
r = klass.create(name: 'X', asset_type: ['ATM', 'ABM'])
|
89
|
+
expect(r).to be_persisted
|
90
|
+
r = klass.find(r.id)
|
91
|
+
expect(r.asset_type).to eq ['ATM', 'ABM']
|
92
|
+
end
|
93
|
+
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
58
97
|
describe '::Queries' do
|
59
98
|
describe '.where' do
|
60
99
|
|
@@ -181,4 +220,5 @@ describe Journey::Resource do
|
|
181
220
|
expect(count).to eq(0)
|
182
221
|
end
|
183
222
|
end
|
223
|
+
|
184
224
|
end
|
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.13
|
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-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active_attr
|
@@ -151,6 +151,7 @@ files:
|
|
151
151
|
- lib/journey/resource/attribute_loading.rb
|
152
152
|
- lib/journey/resource/count.rb
|
153
153
|
- lib/journey/resource/embed.rb
|
154
|
+
- lib/journey/resource/enum_sets.rb
|
154
155
|
- lib/journey/resource/enums.rb
|
155
156
|
- lib/journey/resource/queries.rb
|
156
157
|
- lib/journey/resource/search.rb
|