diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-28 18:08:35 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-28 18:08:35 +0000 |
commit | 6315ed9630fb1c6ade3114beb762cd1568d79219 (patch) | |
tree | 2a5d31936d09c14420c8f4c8bd752e268f0eb19f /app/models/performance_monitoring/prometheus_metric.rb | |
parent | fedf978f9aa1909ed7bb3fad767ad120a1c6bd7b (diff) | |
download | gitlab-ce-6315ed9630fb1c6ade3114beb762cd1568d79219.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/models/performance_monitoring/prometheus_metric.rb')
-rw-r--r-- | app/models/performance_monitoring/prometheus_metric.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/app/models/performance_monitoring/prometheus_metric.rb b/app/models/performance_monitoring/prometheus_metric.rb new file mode 100644 index 00000000000..7b8bef906fa --- /dev/null +++ b/app/models/performance_monitoring/prometheus_metric.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module PerformanceMonitoring + class PrometheusMetric + include ActiveModel::Model + + attr_accessor :id, :unit, :label, :query, :query_range + + validates :unit, presence: true + validates :query, presence: true, unless: :query_range + validates :query_range, presence: true, unless: :query + + def self.from_json(json_content) + metric = PrometheusMetric.new( + id: json_content['id'], + unit: json_content['unit'], + label: json_content['label'], + query: json_content['query'], + query_range: json_content['query_range'] + ) + + metric.tap(&:validate!) + end + end +end |