module Telegraph::Connection

Constants

BASE_URL

Public Instance Methods

get(method, params) click to toggle source
# File lib/telegraph_rb/connection.rb, line 5
def get(method, params)
  params[:fields] = params[:fields].to_json if params[:fields]
  response = connection.get(method, params)
  check_errors(response)
  response.body[:result]
end
post(method, params) click to toggle source
# File lib/telegraph_rb/connection.rb, line 12
def post(method, params)
  url = "#{BASE_URL}/#{method}"
  response = connection.post do |req|
    req.url(url)
    req.body = params.to_json
  end
  check_errors(response)
  response.body[:result]
end

Private Instance Methods

check_errors(response) click to toggle source
# File lib/telegraph_rb/connection.rb, line 33
def check_errors(response)
  resp_body = response.body
  raise ArgumentError, resp_body[:error] if resp_body[:ok] == false
end
connection() click to toggle source
# File lib/telegraph_rb/connection.rb, line 24
def connection
  @connection ||= Faraday.new(url: BASE_URL) do |faraday|
    faraday.request :url_encoded
    faraday.response :json, content_type: /\bjson$/, parser_options: { symbolize_names: true }
    faraday.headers['Content-Type'] = 'application/json'
    faraday.adapter  Faraday.default_adapter
  end
end