Module: Euca::Model::ClassMethods
- Defined in:
- lib/euca/model.rb
Instance Method Summary collapse
- #all ⇒ Object
- #describe(*args) ⇒ Object
- #describer ⇒ Object
- #euca(api, *args) ⇒ Object
- #find(id) ⇒ Object
- #find_by(query = {}) ⇒ Object
- #where(query = {}) ⇒ Object
- #wrapper ⇒ Object
Instance Method Details
#all ⇒ Object
15 16 17 |
# File 'lib/euca/model.rb', line 15 def all describe end |
#describe(*args) ⇒ Object
34 35 36 |
# File 'lib/euca/model.rb', line 34 def describe *args euca("describe-#{self.describer}",*args) end |
#describer ⇒ Object
38 |
# File 'lib/euca/model.rb', line 38 def describer; @describer ||= self::TYPE_ID.tableize; end |
#euca(api, *args) ⇒ Object
40 41 42 |
# File 'lib/euca/model.rb', line 40 def euca api, *args self.wrapper.run api, *args end |
#find(id) ⇒ Object
30 31 32 |
# File 'lib/euca/model.rb', line 30 def find id describe(id).first end |
#find_by(query = {}) ⇒ Object
26 27 28 |
# File 'lib/euca/model.rb', line 26 def find_by query = {} where(query).first end |
#where(query = {}) ⇒ Object
19 20 21 22 23 24 |
# File 'lib/euca/model.rb', line 19 def where query = {} all.select{ |m| s = m.select{ |k,v| query.keys.include?(k.to_sym) } s.values.sort == query.values.sort } end |
#wrapper ⇒ Object
11 12 13 |
# File 'lib/euca/model.rb', line 11 def wrapper @wrapper ||= Wrapper.new(self::TYPE_ID, self::TYPE_ATTRS) end |