Sha256: 9c96c98073122d6567141f635542758965a46385205eb6c97981a92b5524430c
Contents?: true
Size: 972 Bytes
Versions: 6
Compression:
Stored size: 972 Bytes
Contents
module Panda class Resource < Base include Panda::Destroyers include Panda::Associations include Panda::CloudConnection def initialize(attributes={}) super(attributes) @attributes['cloud_id'] ||= Panda.cloud.id end class << self include Panda::CloudConnection def cloud Panda.cloud end # delegate to the scope if the method exists def method_missing(method_symbol, *args, &block) scope = Panda::const_get("#{sti_name}Scope").new(self) if scope.respond_to?(method_symbol) scope.send(method_symbol, *args, &block) else super end end end def cloud Panda.clouds[cloud_id] end def reload perform_reload("cloud_id" => cloud_id) reset_associations self end private def load_and_reset(response) load_response(response.merge('cloud_id' => cloud.id)) end end end
Version data entries
6 entries across 6 versions & 1 rubygems