deltacloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mfoj...@redhat.com
Subject [PATCH core 4/5] CIMI: Added a helper for rendering CIMI collections
Date Thu, 24 Nov 2011 11:10:27 GMT
From: Michal Fojtik <mfojtik@redhat.com>


Signed-off-by: Michal fojtik <mfojtik@redhat.com>
---
 server/lib/cimi/helpers/cimi_helper.rb |   42 ++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)
 create mode 100644 server/lib/cimi/helpers/cimi_helper.rb

diff --git a/server/lib/cimi/helpers/cimi_helper.rb b/server/lib/cimi/helpers/cimi_helper.rb
new file mode 100644
index 0000000..b55ac3b
--- /dev/null
+++ b/server/lib/cimi/helpers/cimi_helper.rb
@@ -0,0 +1,42 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+module CIMIHelper
+end
+
+class Array
+  def to_xml_cimi_collection(_self)
+    model_name = first.class.xml_tag_name
+    XmlSimple.xml_out({
+      "xmlns" => "http://www.dmtf.org/cimi",
+      "uri" => [ _self.send(:"#{model_name.underscore.pluralize}_url") ],
+      "name" => [ "default" ],
+      "created" => [ Time.now.to_s ],
+      model_name => map { |model| { 'href' => model.uri } }
+    }, :root_name => "#{model_name}Collection")
+  end
+
+  def to_json_cimi_collection(_self)
+    model_name = first.class.xml_tag_name
+    {
+      "uri" => _self.send(:"#{model_name.underscore.pluralize}_url"),
+      "name" => "default",
+      "created" => Time.now.to_s,
+      model_name.pluralize.uncapitalize => map { |model| { 'href' => model.uri } }
+    }.to_json
+  end
+
+end
+
-- 
1.7.4.4


Mime
View raw message