Module: Pec::Query
- Included in:
- Compute::Flavor, Compute::Image, Compute::Security_Group, Compute::Server, Network::Port, Network::Subnet
- Defined in:
- lib/pec/query.rb
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 |