Module: AutoGenerator::ClassMethods
- Defined in:
 - backend/app/model/mixins/auto_generator.rb
 
Instance Method Summary (collapse)
- 
  
    
      - (Object) auto_generate(opts) 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      - (Object) create_from_json(json, opts = {}) 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      - (Object) properties_to_auto_generate 
    
    
  
  
  
  
  
  
  
  
  
    
 
Instance Method Details
- (Object) auto_generate(opts)
      47 48 49 50  | 
    
      # File 'backend/app/model/mixins/auto_generator.rb', line 47 def auto_generate(opts) properties_to_auto_generate.delete_if{|generate_opts| generate_opts[:property] == opts[:property] } properties_to_auto_generate.push(opts) end  | 
  
- (Object) create_from_json(json, opts = {})
      29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44  | 
    
      # File 'backend/app/model/mixins/auto_generator.rb', line 29 def create_from_json(json, opts = {}) modified = false properties_to_auto_generate.each do |generate_opts| if (generate_opts[:only_if] and generate_opts[:only_if].call(json)) or json[generate_opts[:property]].nil? json[generate_opts[:property]] = generate_opts[:generator].call(json) modified = true end end obj = super obj.mark_as_system_modified if modified obj end  | 
  
- (Object) properties_to_auto_generate
      53 54 55 56 57  | 
    
      # File 'backend/app/model/mixins/auto_generator.rb', line 53 def properties_to_auto_generate @properties_to_auto_generate ||= [] @properties_to_auto_generate end  |