Skip to content

Commit

Permalink
Refactor resource_identifier.
Browse files Browse the repository at this point in the history
  • Loading branch information
beauby committed Sep 1, 2015
1 parent d9c6805 commit 6fdd377
Showing 1 changed file with 18 additions and 6 deletions.
24 changes: 18 additions & 6 deletions lib/active_model/serializer/adapter/json_api.rb
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,25 @@ def fragment_cache(cached_hash, non_cached_hash)

private

def resource_identifier_type(serializer)
if ActiveModel::Serializer.config.jsonapi_resource_type == :singular
serializer.object.class.model_name.singular
else
serializer.object.class.model_name.plural
end
end

def resource_identifier_id(serializer)
if serializer.respond_to?('id')
serializer.id.to_s
else
serializer.object.id.to_s
end
end

def resource_identifier(serializer)
type = if ActiveModel::Serializer.config.jsonapi_resource_type == :plural
serializer.object.class.model_name.plural
else
serializer.object.class.model_name.singular
end
id = serializer.respond_to?('id') ? serializer.id.to_s : serializer.object.id.to_s
type = resource_identifier_type(serializer)
id = resource_identifier_id(serializer)

{ id: id, type: type }
end
Expand Down

0 comments on commit 6fdd377

Please sign in to comment.