Sha256: 7f7a0a2e9a64db7a93d41b02a1a1d541ce4de7aa987d4492dd4d5fa597ba8cf6

Contents?: true

Size: 1.28 KB

Versions: 25

Compression:

Stored size: 1.28 KB

Contents

# Source vendored gems the hard way in all environments
%w(her fakeable_her public_suffix).each do |gem_name|
  lib = File.expand_path("../../vendor/gems/#{gem_name}/lib", __FILE__)
  $LOAD_PATH.push(lib) unless $LOAD_PATH.include?(lib)
  require gem_name
end

require 'public_suffix'
require 'mixpanel-ruby'
require 'resolv'
require 'faraday_middleware'
require 'request_store'

module TestTrack
  module_function

  SERVER_ERRORS = [Faraday::ConnectionFailed, Faraday::TimeoutError, Her::Errors::RemoteServerError].freeze

  mattr_accessor :enabled_override

  class << self
    def analytics
      @analytics ||= wrapper(mixpanel)
    end

    def analytics=(client)
      @analytics = client.is_a?(TestTrack::Analytics::SafeWrapper) ? client : wrapper(client)
    end

    private

    def wrapper(client)
      TestTrack::Analytics::SafeWrapper.new(client)
    end

    def mixpanel
      TestTrack::Analytics::MixpanelClient.new
    end
  end

  def update_config
    yield(ConfigUpdater.new)
  end

  def url
    return nil unless private_url
    full_uri = URI.parse(private_url)
    full_uri.user = nil
    full_uri.password = nil
    full_uri.to_s
  end

  def private_url
    ENV['TEST_TRACK_API_URL']
  end

  def enabled?
    enabled_override.nil? ? !Rails.env.test? : enabled_override
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
test_track_rails_client-4.0.0.alpha9 lib/test_track.rb
test_track_rails_client-4.0.0.alpha8 lib/test_track.rb
test_track_rails_client-4.0.0.alpha7 lib/test_track.rb
test_track_rails_client-4.0.0.alpha6 lib/test_track.rb
test_track_rails_client-4.0.0.alpha5 lib/test_track.rb
test_track_rails_client-4.0.0.alpha4 lib/test_track.rb
test_track_rails_client-4.0.0.alpha3 lib/test_track.rb
test_track_rails_client-4.0.0.alpha2 lib/test_track.rb
test_track_rails_client-4.0.0.alpha1 lib/test_track.rb
test_track_rails_client-3.0.1 lib/test_track.rb
test_track_rails_client-3.0.0 lib/test_track.rb
test_track_rails_client-2.0.0 lib/test_track.rb
test_track_rails_client-1.3.0 lib/test_track.rb
test_track_rails_client-1.2.0 lib/test_track.rb
test_track_rails_client-1.1.0 lib/test_track.rb
test_track_rails_client-1.0.0 lib/test_track.rb
test_track_rails_client-0.9.20 lib/test_track.rb
test_track_rails_client-0.9.19 lib/test_track.rb
test_track_rails_client-0.9.18 lib/test_track.rb
test_track_rails_client-0.9.17 lib/test_track.rb