Class: FastSerializer::JsonModel::Relationship
- Defined in:
- lib/fast_serializer/json_model/relationship.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#serialization_schema ⇒ Object
Returns the value of attribute serialization_schema.
Attributes inherited from Attribute
#cond, #cond_arity, #cond_method_name, #context, #injected, #key, #method, #method_arity, #method_name, #mixin, #opts
Instance Method Summary collapse
- #exclude?(params) ⇒ Boolean
- #include?(params) ⇒ Boolean
- #include_relation?(params) ⇒ Boolean
- #included?(resource, params, context) ⇒ Boolean
-
#initialize(key, method, serializer = nil, schema = nil, opts = {}) ⇒ Relationship
constructor
A new instance of Relationship.
Methods inherited from Attribute
#inject, #injectable?, #serialize
Methods inherited from Node
Constructor Details
#initialize(key, method, serializer = nil, schema = nil, opts = {}) ⇒ Relationship
Returns a new instance of Relationship.
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/fast_serializer/json_model/relationship.rb', line 10 def initialize(key, method, serializer = nil, schema = nil, opts = {}) super(key, method, opts) @serializer_klass = serializer @schema = schema if !@serializer_klass && !@schema raise ArgumentError, 'must provide serializer or schema' end end |
Instance Attribute Details
#serialization_schema ⇒ Object
Returns the value of attribute serialization_schema.
6 7 8 |
# File 'lib/fast_serializer/json_model/relationship.rb', line 6 def serialization_schema @serialization_schema end |
Instance Method Details
#exclude?(params) ⇒ Boolean
37 38 39 40 41 42 |
# File 'lib/fast_serializer/json_model/relationship.rb', line 37 def exclude?(params) return false if params[:exclude].nil? return false if params[:exclude].empty? params[:exclude_index].key?(key) end |
#include?(params) ⇒ Boolean
46 47 48 49 50 51 |
# File 'lib/fast_serializer/json_model/relationship.rb', line 46 def include?(params) return true if params[:include].nil? return false if params[:include].empty? params[:include_index].key?(key) end |
#include_relation?(params) ⇒ Boolean
31 32 33 |
# File 'lib/fast_serializer/json_model/relationship.rb', line 31 def include_relation?(params) include?(params) && !exclude?(params) end |
#included?(resource, params, context) ⇒ Boolean
25 26 27 |
# File 'lib/fast_serializer/json_model/relationship.rb', line 25 def included?(resource, params, context) super && include_relation?(params) end |