class Formstack::Connection
Constants
- BASE_URI
Attributes
access_token[R]
base_uri[R]
Public Class Methods
new(base_uri: BASE_URI, access_token: ENV['FORMSTACK_ACCESS_TOKEN'])
click to toggle source
# File lib/formstack/connection.rb, line 11 def initialize(base_uri: BASE_URI, access_token: ENV['FORMSTACK_ACCESS_TOKEN']) @base_uri = URI(base_uri) @access_token = access_token end
Public Instance Methods
delete(uri, args={})
click to toggle source
# File lib/formstack/connection.rb, line 28 def delete(uri, args={}) request(uri: uri, request_factory: Net::HTTP::Delete, args: args) end
get(uri, args={})
click to toggle source
# File lib/formstack/connection.rb, line 16 def get(uri, args={}) request(uri: uri, request_factory: Net::HTTP::Get, args: args) end
post(uri, args={})
click to toggle source
# File lib/formstack/connection.rb, line 20 def post(uri, args={}) request(uri: uri, request_factory: Net::HTTP::Post, args: args) end
put(uri, args={})
click to toggle source
# File lib/formstack/connection.rb, line 24 def put(uri, args={}) request(uri: uri, request_factory: Net::HTTP::Put, args: args) end
Private Instance Methods
parse_response(response)
click to toggle source
# File lib/formstack/connection.rb, line 49 def parse_response(response) JSON.parse(response.body) end
request(uri:, request_factory:, args: {})
click to toggle source
# File lib/formstack/connection.rb, line 34 def request(uri:, request_factory:, args: {}) uri = base_uri + uri response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https') do |http| request = request_factory.new uri request["Authorization"] = "Bearer #{access_token}" if !args.empty? request["Content-Type"] = "application/json" request.body = args.to_json end http.request request end parse_response(response) end