Class: CloudstackSpec::Resource::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/cloudstack_spec/resource/base.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name = nil) ⇒ Base

Returns a new instance of Base.



5
6
7
8
9
10
11
12
# File 'lib/cloudstack_spec/resource/base.rb', line 5

def initialize(name=nil)
  @name   = name
  @connection = CloudstackSpec::Helper::Api.new.connection

  if self.class.name == "CloudstackSpec::Resource::Zone"
    @zonename = this_zone(name)
  end
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



3
4
5
# File 'lib/cloudstack_spec/resource/base.rb', line 3

def name
  @name
end

Instance Method Details

#get_zone(zonename = nil) ⇒ Object



29
30
31
32
33
34
35
36
37
38
# File 'lib/cloudstack_spec/resource/base.rb', line 29

def get_zone(zonename=nil)
  if zonename.nil?
    zone = @connection.list_zones['zone'].first
    #zonename = zonename['name']
  else 
    #zonename = zonename
    zone = @connection.list_zones(:name => zonename)['zone'].first
  end
    return zone
end

#inspectObject



21
22
23
# File 'lib/cloudstack_spec/resource/base.rb', line 21

def inspect
  to_s
end

#job_status?(jobid) ⇒ Boolean

Returns:

  • (Boolean)


40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/cloudstack_spec/resource/base.rb', line 40

def job_status?(jobid)
    job = @connection.query_async_job_result(jobid: jobid)
    print "  async job in progress..."
  until job['jobstatus'] != 0
    print '.'
    job = @connection.query_async_job_result(jobid: jobid)
    sleep(5)
  end
    puts ''
  if job['jobresultcode'] == 0
    sleep(5)
    return true
  else
    return false
  end
end

#to_aryObject



25
26
27
# File 'lib/cloudstack_spec/resource/base.rb', line 25

def to_ary
  to_s.split(" ")
end

#to_sObject



14
15
16
17
18
19
# File 'lib/cloudstack_spec/resource/base.rb', line 14

def to_s
  type = self.class.name.split(':')[-1]
  type.gsub!(/([a-z\d])([A-Z])/, '\1 \2')
  #type.capitalize!
  %Q!#{type} "#{@name}"!
end