Sha256: e8c9d04f637567293a4edd7fa24ae007fc2cf20694702342f6b25e8f6fc4109f
Contents?: true
Size: 1.54 KB
Versions: 1
Compression:
Stored size: 1.54 KB
Contents
# frozen_string_literal: true require 'dry/struct' require_relative 'grafana_annotations/version' require_relative 'grafana_annotations/utils/time' require_relative 'grafana_annotations/types' require_relative 'grafana_annotations/config' require_relative 'grafana_annotations/config/dsl' require_relative 'grafana_annotations/annotation' require_relative 'grafana_annotations/patch_annotation_request' require_relative 'grafana_annotations/api_client' require_relative 'grafana_annotations/wrap' module GrafanaAnnotations class Error < StandardError; end class ConfigurationError < Error; end class << self attr_reader :config include GrafanaAnnotations::Wrap def configure dsl = GrafanaAnnotations::Config::Dsl.new yield dsl @config = GrafanaAnnotations::Config.new(dsl.config) rescue StandardError => e raise ConfigurationError, e.message end def configured? config.is_a? GrafanaAnnotations::Config end def default_api_client @default_api_client ||= begin unless configured? raise ConfigurationError, 'Use GrafanaAnnotations.configure in initializer (see https://github.com/SberMarket-Tech/grafana_annotations#configuration)' end new_api_client({}) end end def new_api_client(opts) return ApiClient.new(opts) unless configured? ApiClient.new( opts.merge( logger: config.logger, base_url: config.grafana_base_url, authorization: config.grafana_authorization ) ) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
grafana_annotations-0.1.1 | lib/grafana_annotations.rb |