Class: ObjectGraph::ObjectGraph
- Inherits:
 - 
      Object
      
        
- Object
 - ObjectGraph::ObjectGraph
 
 - Defined in:
 - backend/app/model/ASModel_object_graph.rb
 
Instance Method Summary (collapse)
- 
  
    
      - (Object) add_objects(model, *ids) 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      - (Boolean) changed_since?(version) 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      - (Object) each(&block) 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      - (Object) ids_for(model) 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      - (ObjectGraph) initialize(hash = {}) 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of ObjectGraph.
 - 
  
    
      - (Object) models 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      - (Object) version 
    
    
  
  
  
  
  
  
  
  
  
    
 
Constructor Details
- (ObjectGraph) initialize(hash = {})
Returns a new instance of ObjectGraph
      68 69 70 71 72  | 
    
      # File 'backend/app/model/ASModel_object_graph.rb', line 68 def initialize(hash = {}) @graph = Hash[hash.map {|model, ids| [model, Set.new(ids)] }] end  | 
  
Instance Method Details
- (Object) add_objects(model, *ids)
      74 75 76 77 78 79 80 81  | 
    
      # File 'backend/app/model/ASModel_object_graph.rb', line 74 def add_objects(model, *ids) flat_ids = ids.flatten return if flat_ids.empty? @graph[model] ||= Set.new @graph[model].merge(flat_ids) self end  | 
  
- (Boolean) changed_since?(version)
      87 88 89  | 
    
      # File 'backend/app/model/ASModel_object_graph.rb', line 87 def changed_since?(version) self.version != version end  | 
  
- (Object) each(&block)
      95 96 97 98 99 100 101 102 103 104 105 106 107  | 
    
      # File 'backend/app/model/ASModel_object_graph.rb', line 95 def each(&block) if block_given? @graph.keys.each do |model| block.call(model, @graph[model].to_a) end else Enumerator.new do |y| @graph.map {|model, ids| y << [model, ids.to_a] } end end end  | 
  
- (Object) ids_for(model)
      91 92 93  | 
    
      # File 'backend/app/model/ASModel_object_graph.rb', line 91 def ids_for(model) @graph[model] ? @graph[model].to_a : [] end  | 
  
- (Object) models
      109 110 111  | 
    
      # File 'backend/app/model/ASModel_object_graph.rb', line 109 def models @graph.keys end  | 
  
- (Object) version
      83 84 85  | 
    
      # File 'backend/app/model/ASModel_object_graph.rb', line 83 def version @graph.hash end  |