Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2016-11-15 13:36:39 +0300
committerJames Lopez <james@jameslopez.es>2016-11-17 10:22:58 +0300
commit8743e59f78cd8f8701460796dcc06854281f3f73 (patch)
treed539fff96a88a8ea33f1a9ab62faffc678dd22d8 /app/serializers
parentf5600997512f1068cdc36ad7d086e7447dbc6d9d (diff)
get all stages to use serlalizers - apart from plan - WIP
Diffstat (limited to 'app/serializers')
-rw-r--r--app/serializers/analytics_build_entity.rb11
-rw-r--r--app/serializers/analytics_generic_entity.rb8
-rw-r--r--app/serializers/entity_date_helper.rb7
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