module Metabase::Connection
Public Instance Methods
delete(path, **params)
click to toggle source
# File lib/metabase/connection.rb, line 21 def delete(path, **params) request(:delete, path, params) end
get(path, **params)
click to toggle source
# File lib/metabase/connection.rb, line 9 def get(path, **params) request(:get, path, params) end
head(path, **params)
click to toggle source
# File lib/metabase/connection.rb, line 25 def head(path, **params) request(:head, path, params) end
post(path, **params)
click to toggle source
# File lib/metabase/connection.rb, line 13 def post(path, **params) request(:post, path, params) end
put(path, **params)
click to toggle source
# File lib/metabase/connection.rb, line 17 def put(path, **params) request(:put, path, params) end
Private Instance Methods
connection()
click to toggle source
# File lib/metabase/connection.rb, line 45 def connection @connection ||= Faraday.new(url: @url) do |c| c.request :json, content_type: /\bjson$/ c.response :json, content_type: /\bjson$/ c.request :url_encoded, content_type: /x-www-form-urlencoded/ c.adapter Faraday.default_adapter c.headers['User-Agent'] = "MetabaseRuby/#{VERSION} (#{RUBY_ENGINE}#{RUBY_VERSION})" end end
request(method, path, params)
click to toggle source
# File lib/metabase/connection.rb, line 31 def request(method, path, params) headers = params.delete(:headers) response = connection.public_send(method, path, params) do |request| request.headers['X-Metabase-Session'] = @token if @token headers&.each_pair { |k, v| request.headers[k] = v } end error = Error.from_response(response) raise error if error response.body end