Skip to content

Commit b6e601a

Browse files
committed
Update documentation with Yard links
1 parent df92e92 commit b6e601a

File tree

4 files changed

+18
-1
lines changed

4 files changed

+18
-1
lines changed

docs/jsonapi/errors.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[Back to Guides](../README.md)
22

3-
# JSON API Errors
3+
# [JSON API Errors](http://jsonapi.org/format/#errors)
44

55
Rendering error documents requires specifying the error serializer(s):
66

lib/active_model/serializer/adapter/json_api.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ class JsonApi < Base
1616
# TODO: if we like this abstraction and other API objects to it,
1717
# then extract to its own file and require it.
1818
module ApiObjects
19+
# {http://jsonapi.org/format/#document-jsonapi-object Jsonapi Object}
1920
module Jsonapi
2021
ActiveModelSerializers.config.jsonapi_version = '1.0'
2122
ActiveModelSerializers.config.jsonapi_toplevel_meta = {}
@@ -54,6 +55,8 @@ def initialize(serializer, options = {})
5455
@fieldset = options[:fieldset] || ActiveModel::Serializer::Fieldset.new(options.delete(:fields))
5556
end
5657

58+
# {http://jsonapi.org/format/#crud Requests are transactional, i.e. success or failure}
59+
# {http://jsonapi.org/format/#document-top-level data and errors MUST NOT coexist in the same document.}
5760
def serializable_hash(options = nil)
5861
options ||= {}
5962
if serializer.success?
@@ -63,6 +66,7 @@ def serializable_hash(options = nil)
6366
end
6467
end
6568

69+
# {http://jsonapi.org/format/#document-top-level Primary data}
6670
def success_document(options)
6771
is_collection = serializer.respond_to?(:each)
6872
serializers = is_collection ? serializer : [serializer]
@@ -87,6 +91,7 @@ def success_document(options)
8791
hash
8892
end
8993

94+
# {http://jsonapi.org/format/#errors JSON API Errors}
9095
# TODO: look into caching
9196
# rubocop:disable Style/AsciiComments
9297
# definition:
@@ -120,6 +125,7 @@ def fragment_cache(cached_hash, non_cached_hash)
120125

121126
private
122127

128+
# {http://jsonapi.org/format/#document-resource-objects Primary data}
123129
def resource_objects_for(serializers)
124130
@primary = []
125131
@included = []
@@ -161,10 +167,12 @@ def process_relationship(serializer, include_tree)
161167
process_relationships(serializer, include_tree)
162168
end
163169

170+
# {http://jsonapi.org/format/#document-resource-object-attributes Document Resource Object Attributes}
164171
def attributes_for(serializer, fields)
165172
serializer.attributes(fields).except(:id)
166173
end
167174

175+
# {http://jsonapi.org/format/#document-resource-objects Document Resource Objects}
168176
def resource_object_for(serializer)
169177
resource_object = cache_check(serializer) do
170178
resource_object = ApiObjects::ResourceIdentifier.new(serializer).as_json
@@ -188,6 +196,7 @@ def resource_object_for(serializer)
188196
resource_object
189197
end
190198

199+
# {http://jsonapi.org/format/#document-resource-object-relationships Document Resource Object Relationship}
191200
def relationships_for(serializer, requested_associations)
192201
include_tree = IncludeTree.from_include_args(requested_associations)
193202
serializer.associations(include_tree).each_with_object({}) do |association, hash|
@@ -201,16 +210,19 @@ def relationships_for(serializer, requested_associations)
201210
end
202211
end
203212

213+
# {http://jsonapi.org/format/#document-links Document Links}
204214
def links_for(serializer)
205215
serializer._links.each_with_object({}) do |(name, value), hash|
206216
hash[name] = Link.new(serializer, value).as_json
207217
end
208218
end
209219

220+
# {http://jsonapi.org/format/#fetching-pagination Pagination Links}
210221
def pagination_links_for(serializer, options)
211222
JsonApi::PaginationLinks.new(serializer.object, options[:serialization_context]).serializable_hash(options)
212223
end
213224

225+
# {http://jsonapi.org/format/#document-meta Docment Meta}
214226
def meta_for(serializer)
215227
Meta.new(serializer).as_json
216228
end

lib/active_model/serializer/adapter/json_api/api_objects/relationship.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ module Adapter
44
class JsonApi
55
module ApiObjects
66
class Relationship
7+
# {http://jsonapi.org/format/#document-resource-object-related-resource-links Document Resource Object Related Resource Links}
8+
# {http://jsonapi.org/format/#document-links Document Links}
9+
# {http://jsonapi.org/format/#document-resource-object-linkage Document Resource Relationship Linkage}
10+
# {http://jsonapi.org/format/#document-meta Docment Meta}
711
def initialize(parent_serializer, serializer, options = {}, links = {}, meta = nil)
812
@object = parent_serializer.object
913
@scope = parent_serializer.scope

lib/active_model/serializer/adapter/json_api/api_objects/resource_identifier.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ module Adapter
44
class JsonApi
55
module ApiObjects
66
class ResourceIdentifier
7+
# {http://jsonapi.org/format/#document-resource-identifier-objects Resource Identifier Objects}
78
def initialize(serializer)
89
@id = id_for(serializer)
910
@type = type_for(serializer)

0 commit comments

Comments
 (0)