# frozen_string_literal: true # Base class for embed services. Contains a few basic helper # methods that the embed services share. module Metrics module Dashboard class BaseEmbedService < ::Metrics::Dashboard::BaseService def self.embedded?(embed_param) ActiveModel::Type::Boolean.new.cast(embed_param) end def cache_key "dynamic_metrics_dashboard_#{identifiers}" end protected def dashboard_path params[:dashboard_path].presence || ::Metrics::Dashboard::SystemDashboardService::DASHBOARD_PATH end def group params[:group] end def title params[:title] end def y_label params[:y_label] end def identifiers [dashboard_path, group, title, y_label].join('|') end end end end