diff --git a/lib/travis/api/v3/renderer/repository.rb b/lib/travis/api/v3/renderer/repository.rb index d2c0319e..96c3d217 100644 --- a/lib/travis/api/v3/renderer/repository.rb +++ b/lib/travis/api/v3/renderer/repository.rb @@ -3,7 +3,7 @@ require 'travis/api/v3/renderer/model_renderer' module Travis::API::V3 class Renderer::Repository < Renderer::ModelRenderer representation(:minimal, :id, :name, :slug) - representation(:standard, :id, :name, :slug, :description, :github_language, :active, :private, :owner, :last_build, :default_branch) + representation(:standard, :id, :name, :slug, :description, :github_language, :active, :private, :owner, :default_branch) def active !!model.active @@ -51,26 +51,5 @@ module Travis::API::V3 def owner_type @owner_type ||= model.owner_type.downcase if model.owner_type end - - def last_build - return nil unless model.last_build_id - return model.last_build if include_last_build? - { - :@type => 'build'.freeze, - :@href => Renderer.href(:build, script_name: script_name, id: model.last_build_id), - :id => model.last_build_id, - :number => model.last_build_number, - :state => model.last_build_state.to_s, - :duration => model.last_build_duration, - :started_at => model.last_build_started_at, - :finished_at => model.last_build_finished_at, - } - end - - def include_last_build? - return true if include? 'repository.last_build'.freeze - return true if include.any? { |i| i.start_with? 'build.'.freeze } - return true if included.any? { |i| i.is_a? Models::Build and i.id == model.last_build_id } - end end end diff --git a/spec/v3/services/owner/find_spec.rb b/spec/v3/services/owner/find_spec.rb index 30166102..4d67fdea 100644 --- a/spec/v3/services/owner/find_spec.rb +++ b/spec/v3/services/owner/find_spec.rb @@ -56,7 +56,6 @@ describe Travis::API::V3::Services::Owner::Find do "github_language" => nil, "active" => false, "private" => false, - "last_build" => nil, "owner" => { "@href"=> "/v3/org/#{org.id}" }, "default_branch" => { "@type" => "branch", @@ -101,7 +100,6 @@ describe Travis::API::V3::Services::Owner::Find do "github_language" => nil, "active" => false, "private" => false, - "last_build" => nil, "owner" => { "@href"=> "/v3/org/#{org.id}" }, "default_branch" => { "@type" => "branch", diff --git a/spec/v3/services/owner/repositories_spec.rb b/spec/v3/services/owner/repositories_spec.rb index be1551a4..0fb9b0be 100644 --- a/spec/v3/services/owner/repositories_spec.rb +++ b/spec/v3/services/owner/repositories_spec.rb @@ -39,15 +39,6 @@ describe Travis::API::V3::Services::Owner::Repositories do "id" => repo.owner_id, "login" => "svenfuchs", "@href" => "/v3/user/#{repo.owner_id}" }, - "last_build" => { - "@type" => "build", - "@href" => "/v3/build/#{repo.last_build.id}", - "id" => repo.last_build_id, - "number" => "2", - "state" => "passed", - "duration" => nil, - "started_at" => "2010-11-12T12:30:00Z", - "finished_at" => "2010-11-12T12:30:20Z"}, "default_branch" => { "@type" => "branch", "@href" => "/v3/repo/#{repo.id}/branch/master", diff --git a/spec/v3/services/repositories/for_current_user_spec.rb b/spec/v3/services/repositories/for_current_user_spec.rb index 448a7224..fb9e9ff2 100644 --- a/spec/v3/services/repositories/for_current_user_spec.rb +++ b/spec/v3/services/repositories/for_current_user_spec.rb @@ -39,15 +39,6 @@ describe Travis::API::V3::Services::Repositories::ForCurrentUser do "@href" => "/v3/user/#{repo.owner_id}", "id" => repo.owner_id, "login" => "svenfuchs" }, - "last_build" => { - "@type" => "build", - "@href" => "/v3/build/#{repo.last_build_id}", - "id" => repo.last_build_id, - "number" => "2", - "state" => "passed", - "duration" => nil, - "started_at" => "2010-11-12T12:30:00Z", - "finished_at" => "2010-11-12T12:30:20Z"}, "default_branch" => { "@type" => "branch", "@href" => "/v3/repo/#{repo.id}/branch/master", diff --git a/spec/v3/services/repository/find_spec.rb b/spec/v3/services/repository/find_spec.rb index 9ecd6f15..2ea112d5 100644 --- a/spec/v3/services/repository/find_spec.rb +++ b/spec/v3/services/repository/find_spec.rb @@ -47,15 +47,6 @@ describe Travis::API::V3::Services::Repository::Find do "login" => "svenfuchs", "@type" => "user", "@href" => "/v3/user/#{repo.owner_id}"}, - "last_build" => { - "@type" => "build", - "@href" => "/v3/build/#{repo.last_build_id}", - "id" => repo.last_build_id, - "number" => "2", - "state" => "passed", - "duration" => nil, - "started_at" => "2010-11-12T12:30:00Z", - "finished_at" => "2010-11-12T12:30:20Z"}, "default_branch" => { "@type" => "branch", "@href" => "/v3/repo/#{repo.id}/branch/master", @@ -130,15 +121,6 @@ describe Travis::API::V3::Services::Repository::Find do "login" => "svenfuchs", "@type" => "user", "@href" => "/v3/user/#{repo.owner_id}"}, - "last_build" => { - "@type" => "build", - "@href" => "/v3/build/#{repo.last_build_id}", - "id" => repo.last_build_id, - "number" => "2", - "state" => "passed", - "duration" => nil, - "started_at" => "2010-11-12T12:30:00Z", - "finished_at" => "2010-11-12T12:30:20Z"}, "default_branch" => { "@type" => "branch", "@href" => "/v3/repo/#{repo.id}/branch/master", @@ -198,15 +180,6 @@ describe Travis::API::V3::Services::Repository::Find do "login" => "svenfuchs", "@type" => "user", "@href" => "/v3/user/#{repo.owner_id}"}, - "last_build" => { - "@type" => "build", - "@href" => "/v3/build/#{repo.last_build_id}", - "id" => repo.last_build_id, - "number" => "2", - "state" => "passed", - "duration" => nil, - "started_at" => "2010-11-12T12:30:00Z", - "finished_at" => "2010-11-12T12:30:20Z"}, "default_branch" => { "@type" => "branch", "@href" => "/v3/repo/#{repo.id}/branch/master", @@ -272,15 +245,6 @@ describe Travis::API::V3::Services::Repository::Find do "login" => "svenfuchs", "@type" => "user", "@href" => "/v3/user/#{repo.owner_id}"}, - "last_build" => { - "@type" => "build", - "@href" => "/v3/build/#{repo.last_build_id}", - "id" => repo.last_build_id, - "number" => "2", - "state" => "passed", - "duration" => nil, - "started_at" => "2010-11-12T12:30:00Z", - "finished_at" => "2010-11-12T12:30:20Z"}, "default_branch" => { "@type" => "branch", "@href" => "/v3/repo/#{repo.id}/branch/master", @@ -299,11 +263,9 @@ describe Travis::API::V3::Services::Repository::Find do )} end - describe "including full owner and full last build" do - before { get("/v3/repo/#{repo.id}?include=repository.owner,repository.last_build") } + describe "including full owner" do + before { get("/v3/repo/#{repo.id}?include=repository.owner") } example { expect(last_response).to be_ok } - example { expect(parsed_body['last_build']['state']).to be == 'passed' } - example { expect(parsed_body['last_build']['repository']).to be == { "@href" => "/v3/repo/#{repo.id}" } } example { expect(parsed_body['owner']).to include("github_id", "is_syncing", "synced_at")} end @@ -326,10 +288,4 @@ describe Travis::API::V3::Services::Repository::Find do "error_message" => "illegal format for include parameter" }} end - - describe "including nested objects" do - before { get("/v3/repo/#{repo.id}?include=repository.last_build,build.branch") } - example { expect(last_response).to be_ok } - example { expect(parsed_body).to include("last_build") } - end end