Class: Gitlab::Tracking::Destinations::DestinationConfiguration

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/tracking/destinations/destination_configuration.rb

Constant Summary collapse

PRODUCT_USAGE_EVENT_COLLECT_ENDPOINT =
'https://events.gitlab.net'
PRODUCT_USAGE_EVENT_COLLECT_ENDPOINT_STG =
'https://events-stg.gitlab.net'
SNOWPLOW_MICRO_DEFAULT_URI =
'http://localhost:9090'

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(collector_uri) ⇒ DestinationConfiguration

Returns a new instance of DestinationConfiguration.



58
59
60
# File 'lib/gitlab/tracking/destinations/destination_configuration.rb', line 58

def initialize(collector_uri)
  @uri = collector_uri
end

Instance Attribute Details

#uriObject (readonly)

Returns the value of attribute uri.



56
57
58
# File 'lib/gitlab/tracking/destinations/destination_configuration.rb', line 56

def uri
  @uri
end

Class Method Details

.non_production_environment?Boolean

Returns:

  • (Boolean)


20
21
22
23
24
25
# File 'lib/gitlab/tracking/destinations/destination_configuration.rb', line 20

def non_production_environment?
  host = Gitlab.config.gitlab.host
  is_gitlab_qa_instance = host.start_with?('gitlab') && host.end_with?('.test')

  Gitlab.staging? || is_gitlab_qa_instance
end

.snowplow_configurationObject



12
13
14
# File 'lib/gitlab/tracking/destinations/destination_configuration.rb', line 12

def snowplow_configuration
  new(snowplow_uri)
end

.snowplow_micro_configurationObject



16
17
18
# File 'lib/gitlab/tracking/destinations/destination_configuration.rb', line 16

def snowplow_micro_configuration
  new(snowplow_micro_uri)
end

Instance Method Details

#hostnameObject



62
63
64
65
66
67
# File 'lib/gitlab/tracking/destinations/destination_configuration.rb', line 62

def hostname
  return uri.host unless uri.port
  return uri.host if default_port?

  "#{uri.host}:#{uri.port}"
end

#portObject



69
70
71
# File 'lib/gitlab/tracking/destinations/destination_configuration.rb', line 69

def port
  uri.port
end

#protocolObject



73
74
75
# File 'lib/gitlab/tracking/destinations/destination_configuration.rb', line 73

def protocol
  uri.scheme
end