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-0-9'
GITLAB_RAILS_SOURCE =
'gitlab-rails'

Instance Method Summary collapse

Constructor Details

#initialize(namespace_id: nil, plan_name: nil, project_id: nil, user_id: nil, **extra) ⇒ StandardContext

Returns a new instance of StandardContext.



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

def initialize(namespace_id: nil, plan_name: nil, project_id: nil, user_id: nil, **extra)
  check_argument_type(:namespace_id, namespace_id, [Integer])
  check_argument_type(:plan_name, plan_name, [String])
  check_argument_type(:project_id, project_id, [Integer])
  check_argument_type(:user_id, user_id, [Integer])

  @namespace_id = namespace_id
  @plan_name = plan_name
  @project_id = project_id
  @user_id = user_id
  @extra = extra
end

Instance Method Details

#environmentObject



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/gitlab/tracking/standard_context.rb', line 26

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



38
39
40
# File 'lib/gitlab/tracking/standard_context.rb', line 38

def source
  GITLAB_RAILS_SOURCE
end

#to_contextObject



22
23
24
# File 'lib/gitlab/tracking/standard_context.rb', line 22

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