diff options
Diffstat (limited to 'app/serializers/analytics/cycle_analytics/value_stream_entity.rb')
-rw-r--r-- | app/serializers/analytics/cycle_analytics/value_stream_entity.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/serializers/analytics/cycle_analytics/value_stream_entity.rb b/app/serializers/analytics/cycle_analytics/value_stream_entity.rb new file mode 100644 index 00000000000..1943efcc63d --- /dev/null +++ b/app/serializers/analytics/cycle_analytics/value_stream_entity.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +module Analytics + module CycleAnalytics + class ValueStreamEntity < Grape::Entity + expose :name + expose :id + expose :is_custom do |object| + object.custom? + end + expose :stages, using: Analytics::CycleAnalytics::StageEntity + + private + + def id + object.id || object.name # use the name `default` if the record is not persisted + end + + def stages + object.stages.map { |s| ::Analytics::CycleAnalytics::StagePresenter.new(s) } # rubocop: disable CodeReuse/Presenter + end + end + end +end |