Class: Datamappify::Repository::QueryMethod::Save
  
  
  
  
  
    - Inherits:
 
    - 
      Method
      
        
          - Object
 
          
            - Method
 
          
            - Datamappify::Repository::QueryMethod::Save
 
          
        
        show all
      
     
  
  
  
  
  
  
  
  
  
  
    - Defined in:
 
    - lib/datamappify/repository/query_method/save.rb
 
  
  
 
  Instance Attribute Summary
  
  Attributes inherited from Method
  #data_mapper, #states
  
    
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  Methods inherited from Method
  #attributes_walker, #dispatch_criteria_to_default_source, #dispatch_criteria_to_providers, #initialize, #reader?, #source_attributes_walker
  
    Instance Method Details
    
      
  
  
    #context  ⇒ Object  
  
  
  
  
    
      
41
42
43 
     | 
    
      # File 'lib/datamappify/repository/query_method/save.rb', line 41
def context
  self.class.name.demodulize.underscore.to_sym
end 
     | 
  
 
    
      
  
  
    #create_or_update(entity)  ⇒ Entity  
  
  
  
  
    
      
33
34
35
36
37
38
39 
     | 
    
      # File 'lib/datamappify/repository/query_method/save.rb', line 33
def create_or_update(entity)
  raise Data::EntityInvalid.new(entity) if entity.invalid?(context)
  dispatch_criteria_to_providers(:SaveByKey, entity)
  entity
end 
     | 
  
 
    
      
  
  
    #dirty_aware?  ⇒ Boolean 
  
  
  
  
    
      
17
18
19 
     | 
    
      # File 'lib/datamappify/repository/query_method/save.rb', line 17
def dirty_aware?
  true
end 
     | 
  
 
    
      
  
  
    
      
6
7
8
9
10
11
12
13
14 
     | 
    
      # File 'lib/datamappify/repository/query_method/save.rb', line 6
def perform
  states.update(@entity) do
    create_or_update(@entity)
  end
  @entity
rescue Data::EntityInvalid
  false
end
     | 
  
 
    
      
  
  
    #writer?  ⇒ Boolean 
  
  
  
  
    
      
22
23
24 
     | 
    
      # File 'lib/datamappify/repository/query_method/save.rb', line 22
def writer?
  true
end 
     |