Sha256: 91d0c20307d165c122f98b359419fbe55995750ea35fe432bf0ad8eede45840c

Contents?: true

Size: 857 Bytes

Versions: 16

Compression:

Stored size: 857 Bytes

Contents

require 'pdk'

autoload :Logger, 'logger'

module PDK
  module Analytics
    autoload :Util, 'pdk/analytics/util'

    module Client
      autoload :Noop, 'pdk/analytics/client/noop'
      autoload :GoogleAnalytics, 'pdk/analytics/client/google_analytics'
    end

    def self.build_client(opts = {})
      opts[:logger] ||= ::Logger.new(STDERR)
      opts[:client] ||= :noop

      if opts[:disabled]
        opts[:logger].debug 'Analytics opt-out is set, analytics will be disabled'
        opts[:client] = :noop
      end

      client_const = opts[:client].to_s.split('_').map(&:capitalize).join
      PDK::Analytics::Client.const_get(client_const).new(opts)
    rescue StandardError => e
      opts[:logger].debug "Failed to initialize analytics client, analytics will be disabled: #{e}"
      PDK::Analytics::Client::Noop.new(opts)
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
pdk-2.7.1 lib/pdk/analytics.rb
pdk-2.7.0 lib/pdk/analytics.rb
pdk-2.6.1 lib/pdk/analytics.rb
pdk-2.6.0 lib/pdk/analytics.rb
pdk-2.5.0 lib/pdk/analytics.rb
pdk-2.3.0 lib/pdk/analytics.rb
pdk-2.2.0 lib/pdk/analytics.rb
pdk-2.1.1 lib/pdk/analytics.rb
pdk-2.1.0 lib/pdk/analytics.rb
pdk-2.0.0 lib/pdk/analytics.rb
pdk-1.18.1 lib/pdk/analytics.rb
pdk-1.18.0 lib/pdk/analytics.rb
pdk-1.17.0 lib/pdk/analytics.rb
pdk-1.16.0 lib/pdk/analytics.rb
pdk-1.15.0 lib/pdk/analytics.rb
pdk-1.14.1 lib/pdk/analytics.rb