Class: MetabaseQuerySync::MetabaseApi::FaradayMetabaseApi
Class Method Summary
collapse
Instance Method Summary
collapse
#delete_card, #delete_pulse
Constructor Details
#initialize(client:, user:, pass:) ⇒ FaradayMetabaseApi
Returns a new instance of FaradayMetabaseApi.
12
13
14
15
16
|
# File 'lib/metabase_query_sync/metabase_api/faraday_metabase_api.rb', line 12
def initialize(client:, user:, pass:)
@client = client
@user = user
@pass = pass
end
|
Class Method Details
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/metabase_query_sync/metabase_api/faraday_metabase_api.rb', line 19
def self.from_metabase_credentials(creds, &configure_faraday)
client = Faraday.new(url: creds.host) 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.['User-Agent'] =
"MetabaseQuerySync/#{MetabaseQuerySync::VERSION} (#{RUBY_ENGINE}#{RUBY_VERSION})"
configure_faraday.call(c) if configure_faraday
end
new(client: client, user: creds.user, pass: creds.pass)
end
|
Instance Method Details
#get_card(id) ⇒ Object
61
62
63
|
# File 'lib/metabase_query_sync/metabase_api/faraday_metabase_api.rb', line 61
def get_card(id)
request(:get, "/api/card/#{id}").fmap to(Card)
end
|
#get_collection(id) ⇒ Object
41
42
43
|
# File 'lib/metabase_query_sync/metabase_api/faraday_metabase_api.rb', line 41
def get_collection(id)
request(:get, "/api/collection/#{id}").fmap to(Collection)
end
|
#get_collection_items(collection_id) ⇒ Object
45
46
47
|
# File 'lib/metabase_query_sync/metabase_api/faraday_metabase_api.rb', line 45
def get_collection_items(collection_id)
request(:get, "/api/collection/#{collection_id}/items").fmap to_collection_of(Item)
end
|
#get_databases ⇒ Object
57
58
59
|
# File 'lib/metabase_query_sync/metabase_api/faraday_metabase_api.rb', line 57
def get_databases
request(:get, '/api/database').fmap to_collection_of(Database)
end
|
#get_pulse(id) ⇒ Object
73
74
75
|
# File 'lib/metabase_query_sync/metabase_api/faraday_metabase_api.rb', line 73
def get_pulse(id)
request(:get, "/api/pulse/#{id}").fmap to(Pulse)
end
|
#put_card(card_request) ⇒ Object
65
66
67
68
69
70
71
|
# File 'lib/metabase_query_sync/metabase_api/faraday_metabase_api.rb', line 65
def put_card(card_request)
if card_request.id
request(:put, "/api/card/#{card_request.id}", body: card_request.to_h)
else
request(:post, "/api/card", body: card_request.to_h)
end.fmap to(Card)
end
|
#put_collection(collection_request) ⇒ Object
49
50
51
52
53
54
55
|
# File 'lib/metabase_query_sync/metabase_api/faraday_metabase_api.rb', line 49
def put_collection(collection_request)
if collection_request.id
request(:put, "/api/collection/#{collection_request.id}", body: collection_request.to_h)
else
request(:post, "/api/collection", body: collection_request.to_h)
end.fmap to(Collection)
end
|
#put_pulse(pulse_request) ⇒ Object
77
78
79
80
81
82
83
|
# File 'lib/metabase_query_sync/metabase_api/faraday_metabase_api.rb', line 77
def put_pulse(pulse_request)
if pulse_request.id
request(:put, "/api/pulse/#{pulse_request.id}", body: pulse_request.to_h)
else
request(:post, "/api/pulse", body: pulse_request.to_h)
end.fmap to(Pulse)
end
|
#search(q, model: nil) ⇒ Object
35
36
37
38
39
|
# File 'lib/metabase_query_sync/metabase_api/faraday_metabase_api.rb', line 35
def search(q, model: nil)
request(:get, '/api/search') do |req|
req.params.update(q: q, model: model)
end.fmap to_collection_of(Item)
end
|