Sha256: e2787348e9ea9aabcec93e0c4f059d5ecac58e4537c3d8466c76b13cc022178f

Contents?: true

Size: 1.15 KB

Versions: 1

Compression:

Stored size: 1.15 KB

Contents

module YamlRpc

  class <<self  
  
    # Helper method to decode passed arguments on the server side.
    #
    # Please note this is trivial task and you don't have to use this helper function to decode POST data on the server.
    # You can even use different language to parse YAML, like PHP.
    #
    # * <tt>params</tt> Hash
    # * <tt>fields</tt> If nil, will decode all passed params; otherwise only passed list of keys
    def decode(params, fields = nil)
      r = {}
      fields = params.keys unless fields
      fields.each { |k| r[k] = YAML::load(params[k] || "--- \n" ) }
      r
    end
  
    # Helper method to decode arguments on the server side.
    # 
    # Returns a list of decoded values so you can use:
    #
    # image, description, keywords = YamlRpc.decode_to_ary(params, [:image, :description, :keywords])
    #
    # * <tt>params</tt> Hash
    # * <tt>fields</tt> Optional, single field name or array of field names, ie. [:foo, :bar]
    def decode_to_ary(params, fields)
      fields = fields.is_a?(Array) ? fields : [ fields ]
      fields.map { |k| YAML::load(params[k] || "--- \n") }
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
yamlrpc-0.1.080630154212 lib/yamlrpc/helpers.rb