module Euca::Model::ClassMethods

Public Instance Methods

all() click to toggle source
# File lib/euca/model.rb, line 15
def all
  describe
end
describe(*args) click to toggle source
# File lib/euca/model.rb, line 34
def describe *args
  euca("describe-#{self.describer}",*args)
end
describer() click to toggle source
# File lib/euca/model.rb, line 38
def describer; @describer ||= self::TYPE_ID.tableize; end
euca(api, *args) click to toggle source
# File lib/euca/model.rb, line 40
def euca api, *args
  self.wrapper.run api, *args
end
find(id) click to toggle source
# File lib/euca/model.rb, line 30
def find id
  describe(id).first
end
find_by(query = {}) click to toggle source
# File lib/euca/model.rb, line 26
def find_by query = {}
  where(query).first
end
where(query = {}) click to toggle source
# 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() click to toggle source
# File lib/euca/model.rb, line 11
def wrapper
  @wrapper ||= Wrapper.new(self::TYPE_ID, self::TYPE_ATTRS)
end