vidibus-resource 0.3.9 → 0.4.0

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.
@@ -43,6 +43,13 @@ module Vidibus::Resource
43
43
  save
44
44
  end
45
45
 
46
+ # Updates given resource consumer.
47
+ def refresh_resource_consumer(service_uuid, realm_uuid)
48
+ if resource_consumers[realm_uuid] && resource_consumers[realm_uuid].include?(service_uuid)
49
+ update_resource_consumer(service_uuid, realm_uuid)
50
+ end
51
+ end
52
+
46
53
  # TODO: Get rid of this! It's only for the controller...
47
54
  def resource_provider?
48
55
  true
@@ -53,12 +60,8 @@ module Vidibus::Resource
53
60
  false
54
61
  end
55
62
 
56
- def resourceable_hash
57
- @resourceable_hash ||= attributes.except('resource_consumers', '_id')
58
- end
59
-
60
- def resourceable_hash_json
61
- @resourceable_hash_json ||= JSON.generate(resourceable_hash)
63
+ def resourceable_hash(service_uuid = nil, realm_uuid = nil)
64
+ attributes.except('resource_consumers', '_id')
62
65
  end
63
66
 
64
67
  private
@@ -84,8 +87,8 @@ module Vidibus::Resource
84
87
  if !force_consumer_update
85
88
  return unless changes.except('resource_consumers', 'updated_at').any?
86
89
  end
87
-
88
- self.resourceable_hash_checksum = Digest::MD5.hexdigest(resourceable_hash_json)
90
+ json = JSON.generate(resourceable_hash)
91
+ self.resourceable_hash_checksum = Digest::MD5.hexdigest(json)
89
92
  if resourceable_hash_checksum_changed?
90
93
  each_resource_consumer do |service_uuid, realm_uuid|
91
94
  update_resource_consumer(service_uuid, realm_uuid)
@@ -103,12 +106,12 @@ module Vidibus::Resource
103
106
 
104
107
  # Sends an API request to create the resource consumer.
105
108
  def create_resource_consumer(service_uuid, realm_uuid)
106
- resource_consumer_request(service_uuid, realm_uuid, :post, :body => {:resource => resourceable_hash_json})
109
+ resource_consumer_request(service_uuid, realm_uuid, :post)
107
110
  end
108
111
 
109
112
  # Sends an API request to update the resource consumer.
110
113
  def update_resource_consumer(service_uuid, realm_uuid)
111
- resource_consumer_request(service_uuid, realm_uuid, :put, :body => {:resource => resourceable_hash_json})
114
+ resource_consumer_request(service_uuid, realm_uuid, :put)
112
115
  end
113
116
 
114
117
  # Sends an API request to delete the resource consumer.
@@ -117,8 +120,15 @@ module Vidibus::Resource
117
120
  end
118
121
 
119
122
  def resource_consumer_request(service_uuid, realm_uuid, method, options = {})
123
+ if [:post, :put].include?(method)
124
+ hash = resourceable_hash(service_uuid, realm_uuid)
125
+ options[:body] = {
126
+ :resource => JSON.generate(hash)
127
+ }
128
+ end
120
129
  begin
121
- ::Service.discover(service_uuid, realm_uuid).delay.send(method, resource_uri, options)
130
+ ::Service.discover(service_uuid, realm_uuid).
131
+ delay.send(method, resource_uri, options)
122
132
  rescue => e
123
133
  raise(ServiceError, "Sending a #{method} request to the resource consumer #{service_uuid} within realm #{realm_uuid} failed!\n#{e.inspect}")
124
134
  end
@@ -1,5 +1,5 @@
1
1
  module Vidibus
2
2
  module Resource
3
- VERSION = '0.3.9'
3
+ VERSION = '0.4.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,246 +1,232 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: vidibus-resource
3
- version: !ruby/object:Gem::Version
4
- version: 0.3.9
3
+ version: !ruby/object:Gem::Version
4
+ hash: 15
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 4
9
+ - 0
10
+ version: 0.4.0
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Andre Pankratz
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-09-09 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: activesupport
16
- requirement: !ruby/object:Gem::Requirement
17
+
18
+ date: 2013-07-12 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ version_requirements: &id001 !ruby/object:Gem::Requirement
17
22
  none: false
18
- requirements:
23
+ requirements:
19
24
  - - ~>
20
- - !ruby/object:Gem::Version
21
- version: '3'
25
+ - !ruby/object:Gem::Version
26
+ hash: 5
27
+ segments:
28
+ - 3
29
+ version: "3"
22
30
  type: :runtime
31
+ requirement: *id001
23
32
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
33
+ name: activesupport
34
+ - !ruby/object:Gem::Dependency
35
+ version_requirements: &id002 !ruby/object:Gem::Requirement
25
36
  none: false
26
- requirements:
37
+ requirements:
27
38
  - - ~>
28
- - !ruby/object:Gem::Version
29
- version: '3'
30
- - !ruby/object:Gem::Dependency
39
+ - !ruby/object:Gem::Version
40
+ hash: 7
41
+ segments:
42
+ - 2
43
+ version: "2"
44
+ type: :runtime
45
+ requirement: *id002
46
+ prerelease: false
31
47
  name: mongoid
32
- requirement: !ruby/object:Gem::Requirement
48
+ - !ruby/object:Gem::Dependency
49
+ version_requirements: &id003 !ruby/object:Gem::Requirement
33
50
  none: false
34
- requirements:
35
- - - ~>
36
- - !ruby/object:Gem::Version
37
- version: '2'
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ hash: 3
55
+ segments:
56
+ - 0
57
+ version: "0"
38
58
  type: :runtime
59
+ requirement: *id003
39
60
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ~>
44
- - !ruby/object:Gem::Version
45
- version: '2'
46
- - !ruby/object:Gem::Dependency
47
61
  name: json
48
- requirement: !ruby/object:Gem::Requirement
62
+ - !ruby/object:Gem::Dependency
63
+ version_requirements: &id004 !ruby/object:Gem::Requirement
49
64
  none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ hash: 3
69
+ segments:
70
+ - 0
71
+ version: "0"
54
72
  type: :runtime
73
+ requirement: *id004
55
74
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
63
75
  name: vidibus-uuid
64
- requirement: !ruby/object:Gem::Requirement
76
+ - !ruby/object:Gem::Dependency
77
+ version_requirements: &id005 !ruby/object:Gem::Requirement
65
78
  none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ hash: 3
83
+ segments:
84
+ - 0
85
+ version: "0"
70
86
  type: :runtime
87
+ requirement: *id005
71
88
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- - !ruby/object:Gem::Dependency
79
89
  name: vidibus-service
80
- requirement: !ruby/object:Gem::Requirement
90
+ - !ruby/object:Gem::Dependency
91
+ version_requirements: &id006 !ruby/object:Gem::Requirement
81
92
  none: false
82
- requirements:
83
- - - ! '>='
84
- - !ruby/object:Gem::Version
85
- version: '0'
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ hash: 3
97
+ segments:
98
+ - 0
99
+ version: "0"
86
100
  type: :runtime
101
+ requirement: *id006
87
102
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
94
- - !ruby/object:Gem::Dependency
95
103
  name: vidibus-api
96
- requirement: !ruby/object:Gem::Requirement
104
+ - !ruby/object:Gem::Dependency
105
+ version_requirements: &id007 !ruby/object:Gem::Requirement
97
106
  none: false
98
- requirements:
99
- - - ! '>='
100
- - !ruby/object:Gem::Version
101
- version: '0'
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ hash: 7
111
+ segments:
112
+ - 3
113
+ - 0
114
+ version: "3.0"
102
115
  type: :runtime
116
+ requirement: *id007
103
117
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- - !ruby/object:Gem::Dependency
111
118
  name: delayed_job
112
- requirement: !ruby/object:Gem::Requirement
119
+ - !ruby/object:Gem::Dependency
120
+ version_requirements: &id008 !ruby/object:Gem::Requirement
113
121
  none: false
114
- requirements:
122
+ requirements:
115
123
  - - ~>
116
- - !ruby/object:Gem::Version
117
- version: '3.0'
124
+ - !ruby/object:Gem::Version
125
+ hash: 7
126
+ segments:
127
+ - 1
128
+ - 0
129
+ - 8
130
+ version: 1.0.8
118
131
  type: :runtime
132
+ requirement: *id008
119
133
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ~>
124
- - !ruby/object:Gem::Version
125
- version: '3.0'
126
- - !ruby/object:Gem::Dependency
127
134
  name: delayed_job_mongoid
128
- requirement: !ruby/object:Gem::Requirement
135
+ - !ruby/object:Gem::Dependency
136
+ version_requirements: &id009 !ruby/object:Gem::Requirement
129
137
  none: false
130
- requirements:
131
- - - ~>
132
- - !ruby/object:Gem::Version
133
- version: 1.0.8
134
- type: :runtime
138
+ requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ hash: 23
142
+ segments:
143
+ - 1
144
+ - 0
145
+ - 0
146
+ version: 1.0.0
147
+ type: :development
148
+ requirement: *id009
135
149
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ~>
140
- - !ruby/object:Gem::Version
141
- version: 1.0.8
142
- - !ruby/object:Gem::Dependency
143
150
  name: bundler
144
- requirement: !ruby/object:Gem::Requirement
151
+ - !ruby/object:Gem::Dependency
152
+ version_requirements: &id010 !ruby/object:Gem::Requirement
145
153
  none: false
146
- requirements:
147
- - - ! '>='
148
- - !ruby/object:Gem::Version
149
- version: 1.0.0
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ hash: 3
158
+ segments:
159
+ - 0
160
+ version: "0"
150
161
  type: :development
162
+ requirement: *id010
151
163
  prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ! '>='
156
- - !ruby/object:Gem::Version
157
- version: 1.0.0
158
- - !ruby/object:Gem::Dependency
159
164
  name: rake
160
- requirement: !ruby/object:Gem::Requirement
165
+ - !ruby/object:Gem::Dependency
166
+ version_requirements: &id011 !ruby/object:Gem::Requirement
161
167
  none: false
162
- requirements:
163
- - - ! '>='
164
- - !ruby/object:Gem::Version
165
- version: '0'
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ hash: 3
172
+ segments:
173
+ - 0
174
+ version: "0"
166
175
  type: :development
176
+ requirement: *id011
167
177
  prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
- requirements:
171
- - - ! '>='
172
- - !ruby/object:Gem::Version
173
- version: '0'
174
- - !ruby/object:Gem::Dependency
175
178
  name: rdoc
176
- requirement: !ruby/object:Gem::Requirement
179
+ - !ruby/object:Gem::Dependency
180
+ version_requirements: &id012 !ruby/object:Gem::Requirement
177
181
  none: false
178
- requirements:
179
- - - ! '>='
180
- - !ruby/object:Gem::Version
181
- version: '0'
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ hash: 3
186
+ segments:
187
+ - 0
188
+ version: "0"
182
189
  type: :development
190
+ requirement: *id012
183
191
  prerelease: false
184
- version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
- requirements:
187
- - - ! '>='
188
- - !ruby/object:Gem::Version
189
- version: '0'
190
- - !ruby/object:Gem::Dependency
191
192
  name: rspec
192
- requirement: !ruby/object:Gem::Requirement
193
+ - !ruby/object:Gem::Dependency
194
+ version_requirements: &id013 !ruby/object:Gem::Requirement
193
195
  none: false
194
- requirements:
195
- - - ! '>='
196
- - !ruby/object:Gem::Version
197
- version: '0'
196
+ requirements:
197
+ - - ">="
198
+ - !ruby/object:Gem::Version
199
+ hash: 3
200
+ segments:
201
+ - 0
202
+ version: "0"
198
203
  type: :development
204
+ requirement: *id013
199
205
  prerelease: false
200
- version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
- requirements:
203
- - - ! '>='
204
- - !ruby/object:Gem::Version
205
- version: '0'
206
- - !ruby/object:Gem::Dependency
207
206
  name: rr
208
- requirement: !ruby/object:Gem::Requirement
207
+ - !ruby/object:Gem::Dependency
208
+ version_requirements: &id014 !ruby/object:Gem::Requirement
209
209
  none: false
210
- requirements:
211
- - - ! '>='
212
- - !ruby/object:Gem::Version
213
- version: '0'
210
+ requirements:
211
+ - - ">="
212
+ - !ruby/object:Gem::Version
213
+ hash: 3
214
+ segments:
215
+ - 0
216
+ version: "0"
214
217
  type: :development
218
+ requirement: *id014
215
219
  prerelease: false
216
- version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
- requirements:
219
- - - ! '>='
220
- - !ruby/object:Gem::Version
221
- version: '0'
222
- - !ruby/object:Gem::Dependency
223
220
  name: webmock
224
- requirement: !ruby/object:Gem::Requirement
225
- none: false
226
- requirements:
227
- - - ! '>='
228
- - !ruby/object:Gem::Version
229
- version: '0'
230
- type: :development
231
- prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
- requirements:
235
- - - ! '>='
236
- - !ruby/object:Gem::Version
237
- version: '0'
238
221
  description: Allows creation of proxy objects of remote resources on distributed applications.
239
222
  email: andre@vidibus.com
240
223
  executables: []
224
+
241
225
  extensions: []
226
+
242
227
  extra_rdoc_files: []
243
- files:
228
+
229
+ files:
244
230
  - lib/vidibus/resource/consumer/mongoid.rb
245
231
  - lib/vidibus/resource/provider/mongoid.rb
246
232
  - lib/vidibus/resource/version.rb
@@ -253,29 +239,38 @@ files:
253
239
  - Rakefile
254
240
  homepage: https://github.com/vidibus/vidibus-resource
255
241
  licenses: []
242
+
256
243
  post_install_message:
257
244
  rdoc_options: []
258
- require_paths:
245
+
246
+ require_paths:
259
247
  - lib
260
- required_ruby_version: !ruby/object:Gem::Requirement
248
+ required_ruby_version: !ruby/object:Gem::Requirement
261
249
  none: false
262
- requirements:
263
- - - ! '>='
264
- - !ruby/object:Gem::Version
265
- version: '0'
266
- segments:
250
+ requirements:
251
+ - - ">="
252
+ - !ruby/object:Gem::Version
253
+ hash: 3
254
+ segments:
267
255
  - 0
268
- hash: -3944202276768731047
269
- required_rubygems_version: !ruby/object:Gem::Requirement
256
+ version: "0"
257
+ required_rubygems_version: !ruby/object:Gem::Requirement
270
258
  none: false
271
- requirements:
272
- - - ! '>='
273
- - !ruby/object:Gem::Version
259
+ requirements:
260
+ - - ">="
261
+ - !ruby/object:Gem::Version
262
+ hash: 23
263
+ segments:
264
+ - 1
265
+ - 3
266
+ - 6
274
267
  version: 1.3.6
275
268
  requirements: []
269
+
276
270
  rubyforge_project: vidibus-resource
277
271
  rubygems_version: 1.8.24
278
272
  signing_key:
279
273
  specification_version: 3
280
274
  summary: Provides handling of remote resources
281
275
  test_files: []
276
+