Module: Pec::Query

Constant Summary collapse

@@_list =
Hash.new

Instance Method Summary collapse

Instance Method Details

#fetch(name) ⇒ Object



22
23
24
# File 'lib/pec/query.rb', line 22

def fetch(name)
  list.find {|s| s["name"] == name}
end

#get_adapter ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'lib/pec/query.rb', line 6

def get_adapter
  case
  when self.class.name.include?('Network')
    Fog::Network[:openstack]
  when self.class.name.include?('Compute')
    Fog::Compute[:openstack]
  else
    raise
  end
end

#get_ref(name) ⇒ Object



26
27
28
29
# File 'lib/pec/query.rb', line 26

def get_ref(name)
  response = fetch(name)
  response["links"][0]["href"]
end

#list ⇒ Object



17
18
19
20
# File 'lib/pec/query.rb', line 17

def list
  name = self.class.name.demodulize.downcase+"s"
  @@_list[name] || get_adapter.send("list_#{name}").data[:body][name]
end