class FastSerializer::JsonModel::Relationship
Attributes
serialization_schema[RW]
Public Class Methods
new(serializer: nil, schema: nil, **)
click to toggle source
@param serializer [FastSerializer::Schema::Mixin] @param schema [FastSerializer::Schema]
Calls superclass method
FastSerializer::JsonModel::Attribute::new
# File lib/fast_serializer/json_model/relationship.rb, line 10 def initialize(serializer: nil, schema: nil, **) super @serializer_klass = serializer @schema = schema if @serializer_klass.nil? && @schema.nil? raise ArgumentError, 'must provide serializer or schema' end end
Public Instance Methods
exclude?(params)
click to toggle source
@param params [Hash] @return [Boolean]
# 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)
click to toggle source
@param params [Hash] @return [Boolean]
# 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)
click to toggle source
@param params [Hash] @return [Boolean]
# File lib/fast_serializer/json_model/relationship.rb, line 31 def include_relation?(params) include?(params) && !exclude?(params) end
included?(resource, params, context)
click to toggle source
@param resource [Object] @param params [Hash] @param context [Hash] @return [Boolean]
Calls superclass method
FastSerializer::JsonModel::Attribute#included?
# File lib/fast_serializer/json_model/relationship.rb, line 25 def included?(resource, params, context) super && include_relation?(params) end