steamcannon-deltacloud-client 0.1.0.3 → 0.1.0.4

Sign up to get free protection for your applications and to get access to all the features.
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