add @representation attribute to collections and update specs
This commit is contained in:
parent
720d8aa284
commit
51bcdec77a
|
@ -30,6 +30,7 @@ module Travis::API::V3
|
||||||
def fields
|
def fields
|
||||||
fields = { :"@type" => type }
|
fields = { :"@type" => type }
|
||||||
fields[:@href] = href if href
|
fields[:@href] = href if href
|
||||||
|
fields[:@representation] = representation
|
||||||
fields[:@pagination] = pagination_info if meta_data.include? :pagination
|
fields[:@pagination] = pagination_info if meta_data.include? :pagination
|
||||||
fields
|
fields
|
||||||
end
|
end
|
||||||
|
@ -44,13 +45,17 @@ module Travis::API::V3
|
||||||
result = fields
|
result = fields
|
||||||
included = self.included.dup
|
included = self.included.dup
|
||||||
result[collection_key] = list.map do |entry|
|
result[collection_key] = list.map do |entry|
|
||||||
rendered = render_entry(entry, included: included, mode: :standard, **options)
|
rendered = render_entry(entry, included: included, mode: representation, **options)
|
||||||
included << entry
|
included << entry
|
||||||
rendered
|
rendered
|
||||||
end
|
end
|
||||||
result
|
result
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def representation
|
||||||
|
:standard
|
||||||
|
end
|
||||||
|
|
||||||
def render_entry(entry, **options)
|
def render_entry(entry, **options)
|
||||||
Renderer.render_value(entry, **options)
|
Renderer.render_value(entry, **options)
|
||||||
end
|
end
|
||||||
|
|
|
@ -20,6 +20,7 @@ describe Travis::API::V3::Services::Accounts::ForCurrentUser do
|
||||||
example { expect(JSON.load(body)).to be == {
|
example { expect(JSON.load(body)).to be == {
|
||||||
"@type" => "accounts",
|
"@type" => "accounts",
|
||||||
"@href" => "/v3/accounts",
|
"@href" => "/v3/accounts",
|
||||||
|
"@representation" => "standard",
|
||||||
"accounts" => [{
|
"accounts" => [{
|
||||||
"@type" => "account",
|
"@type" => "account",
|
||||||
"@representation" =>"standard",
|
"@representation" =>"standard",
|
||||||
|
|
|
@ -27,6 +27,7 @@ describe Travis::API::V3::Services::Builds::Find do
|
||||||
example { expect(parsed_body).to be == {
|
example { expect(parsed_body).to be == {
|
||||||
"@type" => "builds",
|
"@type" => "builds",
|
||||||
"@href" => "/v3/repo/#{repo.id}/builds?limit=1",
|
"@href" => "/v3/repo/#{repo.id}/builds?limit=1",
|
||||||
|
"@representation" => "standard",
|
||||||
"@pagination" => {
|
"@pagination" => {
|
||||||
"limit" => 1,
|
"limit" => 1,
|
||||||
"offset" => 0,
|
"offset" => 0,
|
||||||
|
@ -94,6 +95,7 @@ describe Travis::API::V3::Services::Builds::Find do
|
||||||
example { expect(parsed_body).to be == {
|
example { expect(parsed_body).to be == {
|
||||||
"@type" => "builds",
|
"@type" => "builds",
|
||||||
"@href" => "/v3/repo/#{repo.id}/builds?limit=1",
|
"@href" => "/v3/repo/#{repo.id}/builds?limit=1",
|
||||||
|
"@representation" => "standard",
|
||||||
"@pagination" => {
|
"@pagination" => {
|
||||||
"limit" => 1,
|
"limit" => 1,
|
||||||
"offset" => 0,
|
"offset" => 0,
|
||||||
|
|
|
@ -20,6 +20,7 @@ describe Travis::API::V3::Services::Organizations::ForCurrentUser do
|
||||||
example { expect(JSON.load(body)).to be == {
|
example { expect(JSON.load(body)).to be == {
|
||||||
"@type" => "organizations",
|
"@type" => "organizations",
|
||||||
"@href" => "/v3/orgs",
|
"@href" => "/v3/orgs",
|
||||||
|
"@representation" => "standard",
|
||||||
"organizations" => [{
|
"organizations" => [{
|
||||||
"@type" => "organization",
|
"@type" => "organization",
|
||||||
"@href" => "/v3/org/#{org.id}",
|
"@href" => "/v3/org/#{org.id}",
|
||||||
|
|
|
@ -15,6 +15,7 @@ describe Travis::API::V3::Services::Owner::Repositories do
|
||||||
example { expect(JSON.load(body)).to be == {
|
example { expect(JSON.load(body)).to be == {
|
||||||
"@type" => "repositories",
|
"@type" => "repositories",
|
||||||
"@href" => "/v3/owner/svenfuchs/repos",
|
"@href" => "/v3/owner/svenfuchs/repos",
|
||||||
|
"@representation" => "standard",
|
||||||
"repositories" => [{
|
"repositories" => [{
|
||||||
"@type" => "repository",
|
"@type" => "repository",
|
||||||
"@href" => "/v3/repo/#{repo.id}",
|
"@href" => "/v3/repo/#{repo.id}",
|
||||||
|
|
|
@ -15,6 +15,7 @@ describe Travis::API::V3::Services::Repositories::ForCurrentUser do
|
||||||
example { expect(JSON.load(body)).to be == {
|
example { expect(JSON.load(body)).to be == {
|
||||||
"@type" => "repositories",
|
"@type" => "repositories",
|
||||||
"@href" => "/v3/repos",
|
"@href" => "/v3/repos",
|
||||||
|
"@representation" => "standard",
|
||||||
"repositories" => [{
|
"repositories" => [{
|
||||||
"@type" => "repository",
|
"@type" => "repository",
|
||||||
"@href" => "/v3/repo/#{repo.id}",
|
"@href" => "/v3/repo/#{repo.id}",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user