class Cloudant::Connection
Attributes
base_uri[R]
password[R]
username[R]
Public Class Methods
new(args)
click to toggle source
# File lib/cloudant/connection.rb, line 6 def initialize(args) @username = args[:username] @password = args[:password] @base_uri = args[:base_uri] end
Public Instance Methods
close()
click to toggle source
# File lib/cloudant/connection.rb, line 32 def close query({url_path: "_session", method: :delete}) end
query(args)
click to toggle source
# File lib/cloudant/connection.rb, line 12 def query(args) base = URI.parse("#{base_uri}#{args[:url_path]}") http = Net::HTTP.new(base.host, 80) request = new_net_http_crud(args[:method],base) args[:opts] ? opts = args[:opts] : opts = { "Cookie" => cookies } request.body = JSON.generate(opts) request['Cookie'] = cookies request["Content-Type"] = "application/json" response = http.request(request) JSON.parse(response.body) end
Private Instance Methods
new_net_http_crud(method,base)
click to toggle source
# File lib/cloudant/connection.rb, line 37 def new_net_http_crud(method,base) method = method.to_sym.capitalize Net::HTTP.const_get(method).new(base.request_uri) end
session_params()
click to toggle source
# File lib/cloudant/connection.rb, line 53 def session_params { username: username, password: password, "Content-Type" => "application/x-www-form-urlencoded", "Accept" => "*/*" } end
start_session()
click to toggle source
# File lib/cloudant/connection.rb, line 42 def start_session RestClient.post("#{base_uri}_session", session_params) end