Class: LcpRuby::EmbedProviders::Base

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

Direct Known Subclasses

Grafana, Metabase

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#site_urlObject (readonly)

Returns the value of attribute site_url.



4
5
6
# File 'lib/lcp_ruby/embed_providers/base.rb', line 4

def site_url
  @site_url
end

Instance Method Details

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

Returns the embeddable URL for the given resource.

Parameters:

  • resource_type (String)

    e.g. “dashboard”, “question”, “panel”

  • resource_id (String, Integer)

    provider-specific resource identifier

  • params (Hash) (defaults to: {})

    additional query parameters

  • user (Object) (defaults to: nil)

    current user for signed/authenticated embeds

Returns:

  • (String)

    fully qualified URL

Raises:

  • (NotImplementedError)


13
14
15
# File 'lib/lcp_ruby/embed_providers/base.rb', line 13

def embed_url(resource_type:, resource_id:, params: {}, user: nil)
  raise NotImplementedError, "#{self.class}#embed_url must be implemented"
end