blob: a2c1f4bfe805f85a6080452a761b3773420ed3c5 [file] [log] [blame]
module CIMI
module RabbitHelper
def generate_delete_operation(opts={})
collection_name = @collection_name.to_s.singularize.camelize
operation :destroy, :with_capability => opts[:with_capability] do
description "Delete specified Credential entity"
control do
CIMI::Service.const_get(collection_name).delete!(params[:id], self)
no_content_with_status(200)
end
end
end
def generate_create_operation(opts={})
collection_name = @collection_name.to_s.singularize.camelize
operation :create, :with_capability => opts[:with_capability] do
description "Create new #{collection_name} entity"
control do
ent = CIMI::Service.const_get("#{collection_name}Create").parse(self).create
header_for_location ent.id
respond_to do |format|
format.json { ent.to_json }
format.xml { ent.to_xml }
end
end
end
end
def generate_index_operation(opts={})
collection_name = @collection_name.to_s.singularize.camelize
operation :index, :with_capability => opts[:with_capability] do
description "List all entities in #{collection_name} collection"
control do
ent = CIMI::Service.const_get(collection_name).list(self)
respond_to do |format|
format.xml { ent.to_xml }
format.json { ent.to_json }
end
end
end
end
def generate_show_operation(opts={})
collection_name = @collection_name.to_s.singularize.camelize
operation :show, :with_capability => opts[:with_capability] do
description "Show details about #{collection_name} entity"
control do
ent = CIMI::Service.const_get(collection_name).find(params[:id], self)
respond_to do |format|
format.xml { ent.to_xml }
format.json { ent.to_json }
end
end
end
end
def generate_remove_from_system_operation(opts={})
collection_name = "System#{@collection_name.to_s.singularize.camelize}"
operation :destroy, :with_capability => opts[:with_capability] do
description "Remove specified #{collection_name} entity from System"
control do
CIMI::Service.const_get(collection_name).delete!(params[:id], self, params[:ent_id])
no_content_with_status(200)
end
end
end
def generate_add_to_system_operation(opts={})
collection_name = "System#{@collection_name.to_s.singularize.camelize}"
operation :create, :with_capability => opts[:with_capability] do
description "Add specified #{collection_name} entity to System"
control do
ent = CIMI::Service.const_get("#{collection_name}Create").parse(params[:id], self).create
header_for_location ent.id
respond_to do |format|
format.json { ent.to_json }
format.xml { ent.to_xml }
end
end
end
end
def generate_system_subcollection_index_operation(opts={})
collection_name = "System#{@collection_name.to_s.singularize.camelize}"
operation :index, :with_capability => opts[:with_capability] do
description "List all entities in System's #{collection_name} collection"
control do
ent = CIMI::Service.const_get(collection_name).collection_for_system(params[:id], self)
respond_to do |format|
format.xml { ent.to_xml }
format.json { ent.to_json }
end
end
end
end
def generate_system_subcollection_show_operation(opts={})
collection_name = "System#{@collection_name.to_s.singularize.camelize}"
operation :show, :with_capability => opts[:with_capability] do
description "Show details of System's #{collection_name} entity"
control do
ent = CIMI::Service.const_get(collection_name).find(params[:id], self, params[:ent_id])
respond_to do |format|
format.xml { ent.to_xml }
format.json { ent.to_json }
end
end
end
end
end
end