Class: Stackspec::Type::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/stackspec/type/server.rb

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Server



5
6
7
# File 'lib/stackspec/type/server.rb', line 5

def initialize(name)
  @name = name
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name) ⇒ Object (private)



41
42
43
44
45
46
47
# File 'lib/stackspec/type/server.rb', line 41

def method_missing(name)
  # FIXME: The resource reader
  if resource.respond_to? name
    return resource.send(name)
  end
  super
end

Instance Method Details

#has_security_group?(name: nil) ⇒ Boolean



21
22
23
# File 'lib/stackspec/type/server.rb', line 21

def has_security_group?(name: nil)
  !! resource.security_groups.find {|sg| sg.name == name }
end

#resourceObject



9
10
11
# File 'lib/stackspec/type/server.rb', line 9

def resource
  @resource ||= find_counterpart_resource
end

#security_groupsObject



17
18
19
# File 'lib/stackspec/type/server.rb', line 17

def security_groups
  resource.security_groups.uniq {|sg| sg.name }
end

#to_sObject Also known as: inspect



13
14
15
# File 'lib/stackspec/type/server.rb', line 13

def to_s
  "OpenStack server #{@name.inspect}"
end