gitlab-org--gitlab-foss/lib/gitlab/cycle_analytics/base_stage.rb

47 lines
1.1 KiB
Ruby
Raw Normal View History

module Gitlab
module CycleAnalytics
class BaseStage
include MetricsTables
2016-12-02 16:09:29 +00:00
attr_accessor :start_time_attrs, :end_time_attrs
def initialize(project:, options:)
@project = project
@options = options
@fetcher = Gitlab::CycleAnalytics::MetricsFetcher.new(project: project,
from: options[:from],
2016-12-02 16:09:29 +00:00
branch: options[:branch],
stage: self)
end
def event
@event ||= Gitlab::CycleAnalytics::Event[stage].new(fetcher: @fetcher,
options: @options,
stage: stage)
end
def events
2016-12-02 16:09:29 +00:00
event.fetch
end
def median_data
AnalyticsStageSerializer.new.represent(self).as_json
end
def title
stage.to_s.capitalize
end
def median
2016-12-02 16:09:29 +00:00
@fetcher.median
end
private
def stage
class_name_for('Stage')
end
end
end
end