class Object

Public Instance Methods

eflatten(obj) click to toggle source
# File lib/small-setup.rb, line 70
def eflatten(obj)
  flat = {}
  if obj["dir"] then
    if obj["nodes"] then
      obj["nodes"].each { |n|
        flat = flat.merge(eflatten(n))
      }
    end
  else
    key = obj["key"].gsub("/","_").gsub("-","_")
    flat[key[1..key.length]]=obj["value"]
  end
  flat
end
flatten(obj,sub) click to toggle source
# File lib/small-setup.rb, line 52
def flatten(obj,sub)
    flat={}
    sub=sub.gsub("-","_").downcase
    obj.keys.each {|k|
        key=k.gsub("-","_").gsub("/","_").downcase
        if obj[k].class == Array then
            if(obj[k][0].class == Hash) then
                flat=flat.merge(flatten(obj[k][0],"#{sub}/#{k}"))
            end
        elsif obj[k].class == Hash then
            flat=flat.merge(flatten(obj[k],"#{sub}/#{k}"))
        else
            flat["#{sub}/#{key}"] = obj[k].to_s
        end
    }
    flat
end
http_delete(uri) click to toggle source
# File lib/small-setup.rb, line 44
def http_delete(uri)
  uri = URI.parse(uri)
  http = Net::HTTP.new(uri.host, uri.port)
  request = Net::HTTP::Delete.new(uri.request_uri)
  response = http.request(request)
  JSON.parse(response.body)
end
http_get(uri) click to toggle source
# File lib/small-setup.rb, line 20
def http_get(uri)
    JSON.parse(Net::HTTP.get(URI(uri)))
end
http_put(uri,doc) click to toggle source
# File lib/small-setup.rb, line 24
def http_put(uri,doc) 
    uri = URI.parse(uri)
    header = {'Content-Type'=> 'application/x-www-form-urlencoded'}
    if doc.class == Hash then
        header = {'Content-Type'=> 'application/json'}
    end
    http = Net::HTTP.new(uri.host, uri.port)
    request = Net::HTTP::Put.new(uri.request_uri, header)
    request.body = doc
    if doc.class == Hash then
        request.body=doc.to_json
    end
    response = http.request(request)
    if response.body.length >= 2 then
        JSON.parse(response.body)
    else
        {}
    end
end
nodes2obj(nodes,prefix) click to toggle source
# File lib/small-setup.rb, line 85
def nodes2obj(nodes,prefix)
    obj={}
    nodes.each {|node|
      if node['dir'] && node['nodes'] then
        obj[node['key'].gsub(prefix,'')]=nodes2obj( node['nodes'],"#{ node['key'] }/" )
      elsif node['value'] then
        obj[node['key'].gsub(prefix,'')]=node['value']
      end
    }
    obj
end