Module: Pec::Query
- Included in:
- Compute::Flavor, Compute::Image, Compute::Security_Group, Compute::Server, Network::Port, Network::Subnet
- Defined in:
- lib/pec/query.rb
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
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/pec/query.rb', line 5 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 30 31 |
# File 'lib/pec/query.rb', line 26 def get_ref(name) class_name = self.class.name.demodulize.downcase response = fetch(name) raise(Pec::Errors::Query, "#{class_name}:#{name} ref is not fond!") unless response response["links"][0]["href"] end |
#list ⇒ Object
16 17 18 19 20 |
# File 'lib/pec/query.rb', line 16 def list name = self.class.name.demodulize.downcase+"s" @_list ||= Hash.new @_list[name] ||= get_adapter.send("list_#{name}").data[:body][name] end |