class ActiveModelSerializers::Adapter::JsonApi::Link
link definition:
oneOf linkString linkObject
description:
A link **MUST** be represented as either: a string containing the link's URL or a link object."
structure:
if href? linkString else linkObject end
linkString definition:
URI
description:
A string containing the link's URL.
structure:
'http://example.com/link-string'
linkObject definition:
JSON Object
properties:
href (required) : URI meta
structure:
{ href: 'http://example.com/link-object', meta: meta, }.reject! {|_,v| v.nil? }
Attributes
object[R]
scope[R]
Public Class Methods
new(serializer, value)
click to toggle source
# File lib/active_model_serializers/adapter/json_api/link.rb, line 46 def initialize(serializer, value) @_routes ||= nil # handles warning # actionpack-4.0.13/lib/action_dispatch/routing/route_set.rb:417: warning: instance variable @_routes not initialized @object = serializer.object @scope = serializer.scope # Use the return value of the block unless it is nil. if value.respond_to?(:call) @value = instance_eval(&value) else @value = value end end
Public Instance Methods
as_json()
click to toggle source
# File lib/active_model_serializers/adapter/json_api/link.rb, line 69 def as_json return @value if @value hash = {} hash[:href] = @href if defined?(@href) hash[:meta] = @meta if defined?(@meta) hash.any? ? hash : nil end
href(value)
click to toggle source
# File lib/active_model_serializers/adapter/json_api/link.rb, line 59 def href(value) @href = value nil end
meta(value)
click to toggle source
# File lib/active_model_serializers/adapter/json_api/link.rb, line 64 def meta(value) @meta = value nil end