lib/azure/base_management/serialization.rb in stuartpreston-azure-sdk-for-ruby-0.7.1 vs lib/azure/base_management/serialization.rb in stuartpreston-azure-sdk-for-ruby-0.7.2
- old
+ new
@@ -1,129 +1,129 @@
-#-------------------------------------------------------------------------
-# Copyright 2013 Microsoft Open Technologies, Inc.
-#
-# Licensed 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 Azure
- module BaseManagement
- module Serialization
- def self.locations_from_xml(locationXML)
- location_objs = []
- xml = locationXML.css('Locations Location')
- xml.each do |meta_node|
- loc = Location.new
- loc.name = xml_content(meta_node, 'Name')
- available_services = meta_node.css('AvailableServices').children
- loc.available_services = available_services.to_ary.join(', ')
- location_objs << loc
- end
- location_objs
- end
-
- def self.affinity_group_to_xml(name, location, label, options = {})
- builder = Nokogiri::XML::Builder.new do |xml|
- xml.CreateAffinityGroup(
- 'xmlns' => 'http://schemas.microsoft.com/windowsazure'
- ) do
- xml.Name name
- xml.Label Base64.encode64(label).strip
- xml.Description options[:description]
- xml.Location location
- end
- end
- builder.doc.to_xml
- end
-
- def self.affinity_groups_from_xml(affinity_xml)
- affinity_groups = []
- affinity_group_services_xml = affinity_xml.css(
- 'AffinityGroups AffinityGroup'
- )
-
- affinity_group_services_xml.each do |ag_xml|
- affinity_group = AffinityGroup.new
- affinity_group.name = xml_content(ag_xml, 'Name')
- affinity_group.label = Base64.decode64(xml_content(ag_xml, 'Label'))
- affinity_group.description = xml_content(ag_xml, 'Description')
- affinity_group.location = xml_content(ag_xml, 'Location')
-
- capabilities = ag_xml.css('Capabilities Capability')
- affinity_group.capability = capabilities.map { |x| x.content }
- affinity_groups << affinity_group
- end
- affinity_groups.compact
- end
-
- def self.affinity_group_from_xml(affinity_xml)
- hosted_services_xml = affinity_xml.css(
- 'AffinityGroup HostedServices HostedService'
- )
-
- storage_services_xml = affinity_xml.css(
- 'AffinityGroup StorageServices StorageService'
- )
-
- capability_xml = affinity_xml.css(
- 'AffinityGroup Capabilities Capability'
- )
-
- AffinityGroup.new do |affinity_group|
- affinity_group.name = xml_content(
- affinity_xml,
- 'AffinityGroup Name'
- )
- affinity_group.label = Base64.decode64(
- xml_content(
- affinity_xml,
- 'AffinityGroup Label'
- )
- )
- affinity_group.description = xml_content(
- affinity_xml,
- 'AffinityGroup Description'
- )
- affinity_group.location = xml_content(
- affinity_xml,
- 'AffinityGroup Location'
- )
- affinity_group.hosted_services = []
- hosted_services_xml.each do |hosted_service_xml|
- affinity_group.hosted_services << {
- url: xml_content(hosted_service_xml, 'Url'),
- service_name: xml_content(hosted_service_xml, 'ServiceName')
- }
- end
- affinity_group.storage_services = []
- storage_services_xml.each do |storage_service_xml|
- affinity_group.storage_services << {
- url: xml_content(storage_service_xml, 'Url'),
- service_name: xml_content(storage_service_xml, 'ServiceName')
- }
- end
- affinity_group.capability = capability_xml.map { |x| x.content }
- end
- end
-
- def self.resource_to_xml(label, options = {})
- builder = Nokogiri::XML::Builder.new do |xml|
- xml.UpdateAffinityGroup(
- 'xmlns' => 'http://schemas.microsoft.com/windowsazure'
- ) do
- xml.Label Base64.encode64(label).strip
- xml.Description options[:description] if options[:description]
- end
- end
- builder.doc.to_xml
- end
- end
- end
-end
+#-------------------------------------------------------------------------
+# Copyright 2013 Microsoft Open Technologies, Inc.
+#
+# Licensed 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 Azure
+ module BaseManagement
+ module Serialization
+ def self.locations_from_xml(locationXML)
+ location_objs = []
+ xml = locationXML.css('Locations Location')
+ xml.each do |meta_node|
+ loc = Location.new
+ loc.name = xml_content(meta_node, 'Name')
+ available_services = meta_node.css('AvailableServices').children
+ loc.available_services = available_services.to_ary.join(', ')
+ location_objs << loc
+ end
+ location_objs
+ end
+
+ def self.affinity_group_to_xml(name, location, label, options = {})
+ builder = Nokogiri::XML::Builder.new do |xml|
+ xml.CreateAffinityGroup(
+ 'xmlns' => 'http://schemas.microsoft.com/windowsazure'
+ ) do
+ xml.Name name
+ xml.Label Base64.encode64(label).strip
+ xml.Description options[:description]
+ xml.Location location
+ end
+ end
+ builder.doc.to_xml
+ end
+
+ def self.affinity_groups_from_xml(affinity_xml)
+ affinity_groups = []
+ affinity_group_services_xml = affinity_xml.css(
+ 'AffinityGroups AffinityGroup'
+ )
+
+ affinity_group_services_xml.each do |ag_xml|
+ affinity_group = AffinityGroup.new
+ affinity_group.name = xml_content(ag_xml, 'Name')
+ affinity_group.label = Base64.decode64(xml_content(ag_xml, 'Label'))
+ affinity_group.description = xml_content(ag_xml, 'Description')
+ affinity_group.location = xml_content(ag_xml, 'Location')
+
+ capabilities = ag_xml.css('Capabilities Capability')
+ affinity_group.capability = capabilities.map { |x| x.content }
+ affinity_groups << affinity_group
+ end
+ affinity_groups.compact
+ end
+
+ def self.affinity_group_from_xml(affinity_xml)
+ hosted_services_xml = affinity_xml.css(
+ 'AffinityGroup HostedServices HostedService'
+ )
+
+ storage_services_xml = affinity_xml.css(
+ 'AffinityGroup StorageServices StorageService'
+ )
+
+ capability_xml = affinity_xml.css(
+ 'AffinityGroup Capabilities Capability'
+ )
+
+ AffinityGroup.new do |affinity_group|
+ affinity_group.name = xml_content(
+ affinity_xml,
+ 'AffinityGroup Name'
+ )
+ affinity_group.label = Base64.decode64(
+ xml_content(
+ affinity_xml,
+ 'AffinityGroup Label'
+ )
+ )
+ affinity_group.description = xml_content(
+ affinity_xml,
+ 'AffinityGroup Description'
+ )
+ affinity_group.location = xml_content(
+ affinity_xml,
+ 'AffinityGroup Location'
+ )
+ affinity_group.hosted_services = []
+ hosted_services_xml.each do |hosted_service_xml|
+ affinity_group.hosted_services << {
+ url: xml_content(hosted_service_xml, 'Url'),
+ service_name: xml_content(hosted_service_xml, 'ServiceName')
+ }
+ end
+ affinity_group.storage_services = []
+ storage_services_xml.each do |storage_service_xml|
+ affinity_group.storage_services << {
+ url: xml_content(storage_service_xml, 'Url'),
+ service_name: xml_content(storage_service_xml, 'ServiceName')
+ }
+ end
+ affinity_group.capability = capability_xml.map { |x| x.content }
+ end
+ end
+
+ def self.resource_to_xml(label, options = {})
+ builder = Nokogiri::XML::Builder.new do |xml|
+ xml.UpdateAffinityGroup(
+ 'xmlns' => 'http://schemas.microsoft.com/windowsazure'
+ ) do
+ xml.Label Base64.encode64(label).strip
+ xml.Description options[:description] if options[:description]
+ end
+ end
+ builder.doc.to_xml
+ end
+ end
+ end
+end