Class: ServicePing::DevopsReport
- Inherits:
-
Object
- Object
- ServicePing::DevopsReport
- Defined in:
- lib/service_ping/devops_report.rb
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(data) ⇒ DevopsReport
constructor
A new instance of DevopsReport.
Constructor Details
#initialize(data) ⇒ DevopsReport
Returns a new instance of DevopsReport.
5 6 7 |
# File 'lib/service_ping/devops_report.rb', line 5 def initialize(data) @data = data end |
Instance Method Details
#execute ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/service_ping/devops_report.rb', line 9 def execute # `conv_index` was previously named `dev_ops_score` in # version-gitlab-com, so we check both for backwards compatibility. metrics = @data['conv_index'] || @data['dev_ops_score'] # Do not attempt to save a report for the first Service Ping # response for a given GitLab instance, which comes without # metrics. return if metrics.keys == ['usage_data_id'] report = DevOpsReport::Metric.create( metrics.slice(*DevOpsReport::Metric::METRICS) ) unless report.persisted? Gitlab::ErrorTracking.track_and_raise_for_dev_exception( ActiveRecord::RecordInvalid.new(report) ) end end |