module Fog::Compute::XenServer::Models::InstanceMethods

Public Instance Methods

collection() click to toggle source
# File lib/fog/compute/xen_server/models/instance_methods.rb, line 10
def collection
  service.send(self.class.collection_name)
end
destroy() click to toggle source
# File lib/fog/compute/xen_server/models/instance_methods.rb, line 30
def destroy
  requires :reference
  service.send(:destroy_record, reference, provider_class)
  true
end
method_missing(method_name, *args) click to toggle source
Calls superclass method
# File lib/fog/compute/xen_server/models/instance_methods.rb, line 36
def method_missing(method_name, *args)
  if service.respond_to?("#{method_name}_#{provider_class.downcase}")
    result = service.send("#{method_name}_#{provider_class.downcase}", reference, *args)
    reload
    result
  else
    super
  end
end
provider_class() click to toggle source
# File lib/fog/compute/xen_server/models/instance_methods.rb, line 6
def provider_class
  self.class.provider_class
end
require_creation_attributes() click to toggle source
# File lib/fog/compute/xen_server/models/instance_methods.rb, line 14
def require_creation_attributes
  requires *self.class.instance_variable_get("@require_before_save")
end
respond_to?(method_name, include_private = false) click to toggle source
Calls superclass method
# File lib/fog/compute/xen_server/models/instance_methods.rb, line 46
def respond_to?(method_name, include_private = false)
  return true if service.respond_to?("#{method_name}_#{provider_class.downcase}")
  super
end
save(extra_params = {}) click to toggle source
# File lib/fog/compute/xen_server/models/instance_methods.rb, line 22
def save(extra_params = {})
  require_creation_attributes
  attrs = all_associations_and_attributes.reject { |_key, value| value.nil? }
  ref = service.send("create_#{provider_class.downcase}", attrs, extra_params)
  merge_attributes collection.get(ref).attributes
  true
end
set_attribute(name, *val) click to toggle source
# File lib/fog/compute/xen_server/models/instance_methods.rb, line 18
def set_attribute(name, *val)
  service.set_attribute(provider_class, reference, name, *val)
end