Class: Gitlab::Tracking::StandardContext

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

Constant Summary collapse

GITLAB_STANDARD_SCHEMA_URL =
'iglu:com.gitlab/gitlab_standard/jsonschema/1-1-7'
GITLAB_RAILS_SOURCE =
'gitlab-rails'

Instance Method Summary collapse

Constructor Details

#initialize(namespace: nil, project_id: nil, user: nil, feature_enabled_by_namespace_ids: nil, **extra) ⇒ StandardContext

Returns a new instance of StandardContext.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/gitlab/tracking/standard_context.rb', line 9

def initialize(
  namespace: nil, project_id: nil, user: nil,
  feature_enabled_by_namespace_ids: nil, **extra)
  check_argument_type(:namespace, namespace, [Namespace])
  check_argument_type(:project_id, project_id, [Integer])
  check_argument_type(:user, user, [User, DeployToken])

  plan_name = get_plan_name(namespace)
  check_argument_type(:plan_name, plan_name, [String])

  @namespace = namespace
  @plan_name = plan_name
  @project_id = project_id
  @user = user
  @extra = extra
  @feature_enabled_by_namespace_ids = feature_enabled_by_namespace_ids
end

Instance Method Details

#environmentObject



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/gitlab/tracking/standard_context.rb', line 31

def environment
  return 'staging' if Gitlab.staging?

  return 'production' if Gitlab.com?

  return 'org' if Gitlab.org?

  return 'self-managed' if Rails.env.production?

  'development'
end

#sourceObject



43
44
45
# File 'lib/gitlab/tracking/standard_context.rb', line 43

def source
  GITLAB_RAILS_SOURCE
end

#to_contextObject



27
28
29
# File 'lib/gitlab/tracking/standard_context.rb', line 27

def to_context
  SnowplowTracker::SelfDescribingJson.new(GITLAB_STANDARD_SCHEMA_URL, to_h)
end