Class: LcpRuby::EmbedProviders::Metabase

Inherits:
Base
  • Object
show all
Defined in:
lib/lcp_ruby/embed_providers/metabase.rb

Instance Attribute Summary

Attributes inherited from Base

#site_url

Instance Method Summary collapse

Constructor Details

#initialize(site_url:, secret_key:) ⇒ Metabase

Returns a new instance of Metabase.



8
9
10
11
# File 'lib/lcp_ruby/embed_providers/metabase.rb', line 8

def initialize(site_url:, secret_key:)
  @site_url = site_url.chomp("/")
  @secret_key = secret_key
end

Instance Method Details

#embed_url(resource_type:, resource_id:, params: {}, user: nil) ⇒ Object



13
14
15
16
17
18
19
20
21
22
# File 'lib/lcp_ruby/embed_providers/metabase.rb', line 13

def embed_url(resource_type:, resource_id:, params: {}, user: nil)
  payload = {
    resource: { resource_type.to_s => resource_id.to_i },
    params: params || {},
    exp: (Time.current + 10.minutes).to_i
  }

  token = jwt_encode(payload)
  "#{@site_url}/embed/#{resource_type}/#{token}#bordered=true&titled=true"
end