Skip to content

Commit

Permalink
as :id has to be always present, add it per default.
Browse files Browse the repository at this point in the history
  • Loading branch information
apotonick committed Nov 25, 2015
1 parent b1731c6 commit 27f0815
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
5 changes: 3 additions & 2 deletions lib/roar/json/json_api.rb
Expand Up @@ -141,8 +141,9 @@ module Fragment
module Options
# TODO: make sure we don't change original params options.
Include = ->(options, decorator) do
return options unless fields = options[:fields]
return options unless included = options[:include]
included << :id # FIXME: changes original options.
return options unless fields = options[:fields]

internal_options = {}
internal_options[:include] = [*included, :included]
Expand All @@ -152,7 +153,7 @@ module Options
fields.each do |k,v|
internal_options[:included][k] = {include: v+[:id]}
end
# pp internal_options
# pp internal_options
options.merge(internal_options)
end
end
Expand Down
8 changes: 4 additions & 4 deletions test/jsonapi/fieldsets_test.rb
Expand Up @@ -40,7 +40,7 @@ class DocumentSingleResourceObjectDecorator < Roar::Decorator

it "includes scalars" do
DocumentSingleResourceObjectDecorator.new(article).
to_json(include: [:title, :id]).
to_json(include: [:title]).
must_equal( {
"data" => {
"type" => "articles",
Expand Down Expand Up @@ -78,7 +78,7 @@ class DocumentSingleResourceObjectDecorator < Roar::Decorator
it "includes other compound objects" do
DocumentSingleResourceObjectDecorator.new(article).
to_hash(
include: [:id, :title, :included],
include: [:title, :included],
included: {include: [:author]}).
must_equal Hash[{
:data=>
Expand All @@ -96,7 +96,7 @@ class DocumentSingleResourceObjectDecorator < Roar::Decorator
it "supports :includes" do
DocumentSingleResourceObjectDecorator.for_collection.new([article]).
to_hash(
include: [:id, :title, :included],
include: [:title, :included],
included: {include: [:author]}).
must_equal Hash[{
:data=>[
Expand All @@ -113,7 +113,7 @@ class DocumentSingleResourceObjectDecorator < Roar::Decorator
it "blaaaaaaa" do
DocumentSingleResourceObjectDecorator.for_collection.new([article]).
to_hash(
include: [:id, :title, :author],
include: [:title, :author],
fields: {author: [:email]}
).
must_equal Hash[{
Expand Down

0 comments on commit 27f0815

Please sign in to comment.