embark-journey 0.0.12 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8ff4c2db85aaf7d550ca956451148647cf657051
4
- data.tar.gz: 9d11c870f8dd88da7507b7da115ae6f8a98171ea
3
+ metadata.gz: 2ad3f26b1c980139030a43b554030ac7d43f8246
4
+ data.tar.gz: c5aa132975c69b278b67151707e267ab21906a9f
5
5
  SHA512:
6
- metadata.gz: 7125ff7e6868d2eff5f93ef135115d2b0b5db53ea476dcb603b24642a706774a10ad208511d0d79b480519975146a849abeaf073a85d89c7a629213a7ac04717
7
- data.tar.gz: 70904a5745c17fcffe74d9520607830885faf526685142ff30b2016237df22a38c571628321c7053d5dd1b23f3555feed8b9732a1d2871fedeb1d73c9f983975
6
+ metadata.gz: 7f08907a7804af244357048bb9cfef6d70f444759a2590ffb149204c34a3f158551d301a6bda4de0f447f66c7d69f049e784715aa75653389db387d664360902
7
+ data.tar.gz: 8688a15c4e143a35f7ed7d2da34ff05687c08696cfe81625f611fce52e849d281ecd7e5052c8aadd5c50d75b78e8fc4311c2f2d96ef103d8528791fb8de15db8
data/CHANGELOG.md CHANGED
@@ -1,9 +1,15 @@
1
- v0.0.9
2
- - Rescues from ActiveResource::ResourceNotFound when association_id is set but object doesn't exist
3
- - Fixes embeds for associations with names different from their class
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.11
9
- - Adds opt-out for embeds via finder opts e.g. `Klass.all(embed: false)`
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
@@ -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
@@ -2,7 +2,7 @@ module Journey
2
2
  module VERSION
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
- TINY = 12
5
+ TINY = 13
6
6
  PRE = nil
7
7
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
8
8
  end
@@ -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.12
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-04 00:00:00.000000000 Z
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