summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/controllers/projects/pipelines_controller.rb3
-rw-r--r--app/serializers/pipeline_entity.rb38
-rw-r--r--app/serializers/pipeline_serializer.rb5
-rw-r--r--spec/serializers/pipeline_serializer_spec.rb23
4 files changed, 9 insertions, 60 deletions
diff --git a/app/controllers/projects/pipelines_controller.rb b/app/controllers/projects/pipelines_controller.rb
index 3d095e2b690..b1d82e952bd 100644
--- a/app/controllers/projects/pipelines_controller.rb
+++ b/app/controllers/projects/pipelines_controller.rb
@@ -11,7 +11,6 @@ class Projects::PipelinesController < Projects::ApplicationController
@running_or_pending_count = PipelinesFinder.new(project).execute(scope: 'running').count
@pipelines_count = PipelinesFinder.new(project).execute.count
- @last_updated = params[:updated_at]
respond_to do |format|
format.html
@@ -19,7 +18,7 @@ class Projects::PipelinesController < Projects::ApplicationController
render json: {
pipelines: PipelineSerializer
.new(project: @project, user: @current_user)
- .incremental(@pipelines, @last_updated),
+ .represent(@pipelines),
updated_at: Time.now.utc,
count: {
all: @pipelines_count,
diff --git a/app/serializers/pipeline_entity.rb b/app/serializers/pipeline_entity.rb
index 08346b4ed77..cf99e628d5f 100644
--- a/app/serializers/pipeline_entity.rb
+++ b/app/serializers/pipeline_entity.rb
@@ -2,7 +2,7 @@ class PipelineEntity < Grape::Entity
include RequestAwareEntity
expose :id
- expose :user, if: proc { created_exposure? }, using: UserEntity
+ expose :user, using: UserEntity
expose :url do |pipeline|
namespace_project_pipeline_path(
@@ -11,7 +11,7 @@ class PipelineEntity < Grape::Entity
pipeline)
end
- expose :details, if: proc { updated_exposure? } do
+ expose :details do
expose :status
expose :duration
expose :finished_at
@@ -20,7 +20,7 @@ class PipelineEntity < Grape::Entity
expose :manual_actions, using: PipelineActionEntity
end
- expose :flags, if: proc { created_exposure? } do
+ expose :flags do
expose :latest?, as: :latest
expose :triggered?, as: :triggered
@@ -33,7 +33,7 @@ class PipelineEntity < Grape::Entity
end
end
- expose :ref, if: proc { updated_exposure? } do
+ expose :ref do
expose :name do |pipeline|
pipeline.ref
end
@@ -48,16 +48,16 @@ class PipelineEntity < Grape::Entity
expose :tag?
end
- expose :commit, if: proc { created_exposure? }, using: CommitEntity
+ expose :commit, using: CommitEntity
- expose :retry_url, if: proc { updated_exposure? } do |pipeline|
+ expose :retry_url do |pipeline|
can?(request.user, :update_pipeline, pipeline.project) &&
pipeline.retryable? &&
retry_namespace_project_pipeline_path(pipeline.project.namespace,
pipeline.project, pipeline.id)
end
- expose :cancel_url, if: proc { updated_exposure? } do |pipeline|
+ expose :cancel_url do |pipeline|
can?(request.user, :update_pipeline, pipeline.project) &&
pipeline.cancelable? &&
cancel_namespace_project_pipeline_path(pipeline.project.namespace,
@@ -65,28 +65,4 @@ class PipelineEntity < Grape::Entity
end
expose :created_at, :updated_at
-
- def created_exposure?
- !incremental? || created?
- end
-
- def updated_exposure?
- !incremental? || updated?
- end
-
- def incremental?
- options[:incremental] && last_updated
- end
-
- def last_updated
- options.fetch(:last_updated)
- end
-
- def updated?
- @object.updated_at > last_updated
- end
-
- def created?
- @object.created_at > last_updated
- end
end
diff --git a/app/serializers/pipeline_serializer.rb b/app/serializers/pipeline_serializer.rb
index 8d3182d9766..f7abbec7d45 100644
--- a/app/serializers/pipeline_serializer.rb
+++ b/app/serializers/pipeline_serializer.rb
@@ -1,8 +1,3 @@
class PipelineSerializer < BaseSerializer
entity PipelineEntity
-
- def incremental(resource, last_updated)
- represent(resource, incremental: true,
- last_updated: last_updated)
- end
end
diff --git a/spec/serializers/pipeline_serializer_spec.rb b/spec/serializers/pipeline_serializer_spec.rb
index c4eba2f2537..f6b7d1eb1dd 100644
--- a/spec/serializers/pipeline_serializer_spec.rb
+++ b/spec/serializers/pipeline_serializer_spec.rb
@@ -11,26 +11,5 @@ describe PipelineSerializer do
let(:user) { create(:user) }
- context 'when using incremental serializer' do
- let(:json) do
- serializer.incremental(pipelines, time).as_json
- end
-
- context 'when pipeline has been already updated' do
- let(:time) { Time.now }
-
- it 'exposes only minimal information' do
- expect(json.first.keys).to contain_exactly(:id, :url)
- expect(json.second.keys).to contain_exactly(:id, :url)
- end
- end
-
- context 'when pipeline updated in the meantime' do
- let(:time) { Time.now - 10.minutes }
-
- it 'exposes new data incrementally' do
- expect(json.first.keys.count).to eq 9
- end
- end
- end
+ # TODO add some tests here.
end