lib/jsonapi/resource.rb in jsonapi-resources-0.9.8 vs lib/jsonapi/resource.rb in jsonapi-resources-0.9.9
- old
+ new
@@ -455,10 +455,13 @@
unless subclass._attributes[:id]
subclass.attribute :id, format: :id
end
check_reserved_resource_name(subclass._type, subclass.name)
+
+ subclass._routed = false
+ subclass._warned_missing_route = false
end
def rebuild_relationships(relationships)
original_relationships = relationships.deep_dup
@@ -500,11 +503,11 @@
else
model_name.rpartition('/').last
end
end
- attr_accessor :_attributes, :_relationships, :_type, :_model_hints
+ attr_accessor :_attributes, :_relationships, :_type, :_model_hints, :_routed, :_warned_missing_route
attr_writer :_allowed_filters, :_paginator
def create(context)
new(create_model, context)
end
@@ -1064,27 +1067,31 @@
def mutable?
!@immutable
end
def exclude_links(exclude)
+ _resolve_exclude_links(exclude)
+ end
+
+ def _exclude_links
+ @_exclude_links ||= _resolve_exclude_links(JSONAPI.configuration.default_exclude_links)
+ end
+
+ def exclude_link?(link)
+ _exclude_links.include?(link.to_sym)
+ end
+
+ def _resolve_exclude_links(exclude)
case exclude
when :default, "default"
@_exclude_links = [:self]
when :none, "none"
@_exclude_links = []
when Array
@_exclude_links = exclude.collect {|link| link.to_sym}
else
fail "Invalid exclude_links"
end
- end
-
- def _exclude_links
- @_exclude_links ||= []
- end
-
- def exclude_link?(link)
- _exclude_links.include?(link.to_sym)
end
def caching(val = true)
@caching = val
end