Module: FastSerializer::Schema::Mixin::ClassMethods
  
  
  
  
  
  
  
  
  
  
  
  
    - Defined in:
- lib/fast_serializer/schema/mixin.rb
 
  Instance Attribute Summary collapse
  
  
    
      Instance Method Summary
      collapse
    
    
  
  Dynamic Method Handling
  
    This class handles dynamic methods through the method_missing method
    
  
  
    
  
  
    #method_missing(method, *args, &block)  ⇒ Object 
  
  
  
  
    | 
13
14
15
16
17
18
19 | # File 'lib/fast_serializer/schema/mixin.rb', line 13
def method_missing(method, *args, &block)
  if __schema__.respond_to?(method)
    __schema__.public_send(method, *args, &block)
  else
    super
  end
end | 
 
  
 
  
    Instance Attribute Details
    
      
      
      
  
  
    #__patched__  ⇒ Object 
  
  
  
  
    
Returns the value of attribute __patched__.
   
 
  
  
    | 
7
8
9 | # File 'lib/fast_serializer/schema/mixin.rb', line 7
def __patched__
  @__patched__
end | 
 
    
      
      
      
  
  
    #__schema__  ⇒ Object 
  
  
  
  
    
Returns the value of attribute __schema__.
   
 
  
  
    | 
7
8
9 | # File 'lib/fast_serializer/schema/mixin.rb', line 7
def __schema__
  @__schema__
end | 
 
    
   
  
    Instance Method Details
    
      
  
  
    #__patch_with_attribute_definition  ⇒ Object 
  
  
  
  
    | 
25
26
27
28
29
30
31 | # File 'lib/fast_serializer/schema/mixin.rb', line 25
def __patch_with_attribute_definition
  injectable_attributes = __schema__.serialization_schema.attributes.select { |_key, attribute| attribute.injectable? }
  injectable_attributes.each { |_, attribute| attribute.inject(self) }
  self.__patched__ = true
  __patched__.freeze
end | 
 
    
      
  
  
    #inherited(subclass)  ⇒ Object 
  
  
  
  
    | 
9
10
11 | # File 'lib/fast_serializer/schema/mixin.rb', line 9
def inherited(subclass)
  subclass.__schema__ = __schema__.deep_copy
end | 
 
    
      
  
  
    #respond_to_missing?(method_name, include_private = false)  ⇒ Boolean 
  
  
  
  
    | 
21
22
23 | # File 'lib/fast_serializer/schema/mixin.rb', line 21
def respond_to_missing?(method_name, include_private = false)
  __schema__.respond_to?(method_name) || super
end |