lib/sfpagent/helper.rb in sfpagent-0.3.0 vs lib/sfpagent/helper.rb in sfpagent-0.3.1
- old
+ new
@@ -1,5 +1,29 @@
+module Sfp
+ def self.to_ruby(object)
+ object = Sfp::Helper.deep_clone(object)
+ object.accept(Sfp::Helper::Sfp2Ruby)
+ object
+ end
+end
+
module Sfp::Helper
+ Sfp2Ruby = Object.new
+ def Sfp2Ruby.visit(name, value, parent)
+ if name[0] == '_'
+ parent.delete(name)
+ elsif value.is_a?(Hash)
+ case value['_context']
+ when 'null'
+ parent[name] = nil
+ when 'any_value', 'constraint', 'procedure'
+ parent.delete(name)
+ when 'set'
+ parent[name] = value['_values']
+ end
+ end
+ true
+ end
end
module Sfp::Helper::Net
def post_data(address, port, path, data, open_timeout=5, read_timeout=1800)
uri = create_uri(address, port, path)