steamcannon-deltacloud-client 0.1.0.3 → 0.1.0.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.
Files changed (2) hide show
  1. data/lib/base_object.rb +13 -5
  2. metadata +3 -3
data/lib/base_object.rb CHANGED
@@ -269,12 +269,20 @@ module DeltaCloud
269
269
  when :state then 'StateFullObject'
270
270
  end
271
271
  @defined_classes ||= []
272
- if @defined_classes.include?(name)
273
- DeltaCloud::API.class_eval("#{name.classify}")
274
- else
275
- DeltaCloud::API.class_eval("class #{name.classify} < DeltaCloud::#{parent_class}; end")
276
- DeltaCloud::API.const_get("#{name.classify}")
272
+ type_name = "::DeltaCloud::API::#{parent.to_s.classify}"
273
+ class_name = "#{type_name}::#{name.classify}"
274
+ unless @defined_classes.include?(type_name)
275
+ DeltaCloud::API.class_eval("class #{parent.to_s.classify}; end")
276
+ @defined_classes << type_name
277
277
  end
278
+
279
+ type_const = DeltaCloud::API.const_get(parent.to_s.classify)
280
+ unless @defined_classes.include?(class_name)
281
+ type_const.class_eval("class #{name.classify} < DeltaCloud::#{parent_class}; end")
282
+ @defined_classes << class_name
283
+ end
284
+
285
+ type_const.const_get(name.classify)
278
286
  end
279
287
 
280
288
  def self.guess_model_type(response)
metadata CHANGED
@@ -6,8 +6,8 @@ version: !ruby/object:Gem::Version
6
6
  - 0
7
7
  - 1
8
8
  - 0
9
- - 3
10
- version: 0.1.0.3
9
+ - 4
10
+ version: 0.1.0.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Red Hat, Inc.
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-11-29 00:00:00 -05:00
18
+ date: 2010-12-01 00:00:00 -05:00
19
19
  default_executable: deltacloudc
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency