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 |