25 lines
587 B
Ruby
25 lines
587 B
Ruby
|
# 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
|