| 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 |