<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>to_hash (Deltacloud::HardwareProfile)</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" /> </head> <body class="standalone-code"> <pre><span class="ruby-comment cmt"># File lib/deltacloud/hardware_profile.rb, line 135</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_hash</span> <span class="ruby-identifier">props</span> = [] <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">each_property</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">kind</span>.<span class="ruby-identifier">eql?</span> <span class="ruby-identifier">:fixed</span> <span class="ruby-identifier">props</span> <span class="ruby-operator"><<</span> { <span class="ruby-identifier">:kind</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">kind</span>, <span class="ruby-identifier">:value</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">value</span>, <span class="ruby-identifier">:name</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">name</span>, <span class="ruby-identifier">:unit</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">unit</span> } <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">param</span> = { <span class="ruby-identifier">:operation</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"create"</span>, <span class="ruby-identifier">:method</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"post"</span>, <span class="ruby-identifier">:name</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">name</span> } <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">kind</span>.<span class="ruby-identifier">eql?</span> <span class="ruby-identifier">:range</span> <span class="ruby-identifier">param</span>[<span class="ruby-identifier">:range</span>] = { <span class="ruby-identifier">:first</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">first</span>, <span class="ruby-identifier">:last</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">last</span> } <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">kind</span>.<span class="ruby-identifier">eql?</span> <span class="ruby-identifier">:enum</span> <span class="ruby-identifier">param</span>[<span class="ruby-identifier">:enum</span>] = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> { <span class="ruby-identifier">:entry</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">v</span> } } <span class="ruby-keyword kw">end</span> <span class="ruby-identifier">param</span> <span class="ruby-identifier">props</span> <span class="ruby-operator"><<</span> { <span class="ruby-identifier">:kind</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">kind</span>, <span class="ruby-identifier">:value</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">default</span>, <span class="ruby-identifier">:name</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">name</span>, <span class="ruby-identifier">:unit</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">unit</span>, <span class="ruby-identifier">:param</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">param</span> } <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> { <span class="ruby-identifier">:id</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>, <span class="ruby-identifier">:properties</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">props</span> } <span class="ruby-keyword kw">end</span></pre> </body> </html>