Class: Onboarding::Completion
- Inherits:
-
Object
- Object
- Onboarding::Completion
- Includes:
- Gitlab::Experiment::Dsl, Gitlab::Utils::StrongMemoize
- Defined in:
- app/models/onboarding/completion.rb
Constant Summary collapse
- ACTION_PATHS =
[ :pipeline_created, :trial_started, :required_mr_approvals_enabled, :code_owners_enabled, :issue_created, :git_write, :merge_request_created, :user_added, :license_scanning_run, :secure_dependency_scanning_run, :secure_dast_run ].freeze
Instance Method Summary collapse
- #completed?(column) ⇒ Boolean
-
#initialize(project, current_user = nil) ⇒ Completion
constructor
A new instance of Completion.
- #percentage ⇒ Object
Constructor Details
#initialize(project, current_user = nil) ⇒ Completion
Returns a new instance of Completion.
22 23 24 25 26 |
# File 'app/models/onboarding/completion.rb', line 22 def initialize(project, current_user = nil) @project = project @namespace = project.namespace @current_user = current_user end |
Instance Method Details
#completed?(column) ⇒ Boolean
37 38 39 40 41 42 43 |
# File 'app/models/onboarding/completion.rb', line 37 def completed?(column) if column == :code_added repository.commit_count > 1 || repository.branch_count > 1 else attributes[column].present? end end |
#percentage ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'app/models/onboarding/completion.rb', line 28 def percentage return 0 unless onboarding_progress total_actions = action_columns.count completed_actions = action_columns.count { |column| completed?(column) } (completed_actions.to_f / total_actions * 100).round end |