diff options
author | James Lopez <james@jameslopez.es> | 2016-11-15 13:36:39 +0300 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2016-11-17 10:22:58 +0300 |
commit | 8743e59f78cd8f8701460796dcc06854281f3f73 (patch) | |
tree | d539fff96a88a8ea33f1a9ab62faffc678dd22d8 /app/serializers | |
parent | f5600997512f1068cdc36ad7d086e7447dbc6d9d (diff) |
get all stages to use serlalizers - apart from plan - WIP
Diffstat (limited to 'app/serializers')
-rw-r--r-- | app/serializers/analytics_build_entity.rb | 11 | ||||
-rw-r--r-- | app/serializers/analytics_generic_entity.rb | 8 | ||||
-rw-r--r-- | app/serializers/entity_date_helper.rb | 7 |
3 files changed, 18 insertions, 8 deletions
diff --git a/app/serializers/analytics_build_entity.rb b/app/serializers/analytics_build_entity.rb index a07f0beccd4..eb1eef3424a 100644 --- a/app/serializers/analytics_build_entity.rb +++ b/app/serializers/analytics_build_entity.rb @@ -1,14 +1,21 @@ class AnalyticsBuildEntity < Grape::Entity include RequestAwareEntity + include EntityDateHelper expose :name expose :id expose :ref, as: :branch expose :short_sha - expose :started_at, as: :date - expose :duration, as: :total_time expose :author, using: UserEntity + expose :started_at, as: :date do |build| + interval_in_words(build[:started_at]) + end + + expose :duration, as: :total_time do |build| + distance_of_time_in_words(build[:duration].to_f) + end + expose :branch do expose :ref, as: :name diff --git a/app/serializers/analytics_generic_entity.rb b/app/serializers/analytics_generic_entity.rb index 8c8a40cd90b..d7abe3f5f50 100644 --- a/app/serializers/analytics_generic_entity.rb +++ b/app/serializers/analytics_generic_entity.rb @@ -1,10 +1,10 @@ class AnalyticsGenericEntity < Grape::Entity include RequestAwareEntity - include ActionView::Helpers::DateHelper - + include EntityDateHelper expose :title expose :iid + expose :state, if: ->(_instance, options) { options[:request].entity == :merge_request } expose :author, using: UserEntity expose :total_time do |object| @@ -24,8 +24,4 @@ class AnalyticsGenericEntity < Grape::Entity def url_to(route, id) public_send("#{route}_url", request.project.namespace, request.project, id) end - - def interval_in_words(diff) - "#{distance_of_time_in_words(diff.to_f)} ago" - end end diff --git a/app/serializers/entity_date_helper.rb b/app/serializers/entity_date_helper.rb new file mode 100644 index 00000000000..0772f652f0c --- /dev/null +++ b/app/serializers/entity_date_helper.rb @@ -0,0 +1,7 @@ +module EntityDateHelper + include ActionView::Helpers::DateHelper + + def interval_in_words(diff) + "#{distance_of_time_in_words(diff.to_f)} ago" + end +end
\ No newline at end of file |