Module: ActiveGraph::UndeclaredProperties
- Extended by:
 - ActiveSupport::Concern
 
- Defined in:
 - lib/active_graph/undeclared_properties.rb
 
Overview
This mixin allows storage and update of undeclared properties in the included class
Instance Method Summary collapse
- #add_undeclared_property(name, value) ⇒ Object
 - #props_for_create ⇒ Object
 - #props_for_update ⇒ Object
 - #read_attribute(name) ⇒ Object (also: #[])
 - #read_undeclared_property(name) ⇒ Object
 - #skip_update? ⇒ Boolean
 - #undeclared_properties! ⇒ Object
 - #validate_attributes!(_) ⇒ Object
 - #write_attribute(name, value) ⇒ Object (also: #[]=)
 
Instance Method Details
#add_undeclared_property(name, value) ⇒ Object
      49 50 51  | 
    
      # File 'lib/active_graph/undeclared_properties.rb', line 49 def add_undeclared_property(name, value) (self.undeclared_properties ||= {})[name] = value end  | 
  
#props_for_create ⇒ Object
      35 36 37  | 
    
      # File 'lib/active_graph/undeclared_properties.rb', line 35 def props_for_create super.merge(undeclared_properties!) end  | 
  
#props_for_update ⇒ Object
      39 40 41  | 
    
      # File 'lib/active_graph/undeclared_properties.rb', line 39 def props_for_update super.merge(undeclared_properties!) end  | 
  
#read_attribute(name) ⇒ Object Also known as: []
      13 14 15  | 
    
      # File 'lib/active_graph/undeclared_properties.rb', line 13 def read_attribute(name) respond_to?(name) ? super(name) : read_undeclared_property(name.to_sym) end  | 
  
#read_undeclared_property(name) ⇒ Object
      18 19 20  | 
    
      # File 'lib/active_graph/undeclared_properties.rb', line 18 def read_undeclared_property(name) _persisted_obj ? _persisted_obj.properties[name] : (undeclared_properties && undeclared_properties[name]) end  | 
  
#skip_update? ⇒ Boolean
      31 32 33  | 
    
      # File 'lib/active_graph/undeclared_properties.rb', line 31 def skip_update? super && undeclared_properties.blank? end  | 
  
#undeclared_properties! ⇒ Object
      43 44 45 46 47  | 
    
      # File 'lib/active_graph/undeclared_properties.rb', line 43 def undeclared_properties! undeclared_properties || {} ensure self.undeclared_properties = nil end  | 
  
#validate_attributes!(_) ⇒ Object
      10 11  | 
    
      # File 'lib/active_graph/undeclared_properties.rb', line 10 def validate_attributes!(_) end  | 
  
#write_attribute(name, value) ⇒ Object Also known as: []=
      22 23 24 25 26 27 28  | 
    
      # File 'lib/active_graph/undeclared_properties.rb', line 22 def write_attribute(name, value) if respond_to? "#{name}=" super(name, value) else add_undeclared_property(name, value) end end  |