Class: ActiveEnum::Storage::MemoryStore
  
  
  
  
    
      Instance Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  
  #check_duplicate, #initialize, #values
  
    Instance Method Details
    
      
  
  
    #_values  ⇒ Object 
  
  
  
  
    | 
28
29
30 | # File 'lib/active_enum/storage/memory_store.rb', line 28
def _values
  @_values ||= []
end | 
 
    
      
  
  
    #get_by_id(id)  ⇒ Object 
  
  
  
  
    | 
11
12
13 | # File 'lib/active_enum/storage/memory_store.rb', line 11
def get_by_id(id)
  _values.assoc(id)
end | 
 
    
      
  
  
    #get_by_name(name)  ⇒ Object 
  
  
  
  
    | 
15
16
17 | # File 'lib/active_enum/storage/memory_store.rb', line 15
def get_by_name(name)
  _values.rassoc(name.to_s) || _values.rassoc(name.to_s.titleize)
end | 
 
    
      
  
  
    #set(id, name, meta = nil)  ⇒ Object 
  
  
  
  
    | 
5
6
7
8
9 | # File 'lib/active_enum/storage/memory_store.rb', line 5
def set(id, name, meta=nil)
  check_duplicate id, name
  _values << [ id, name.to_s, meta ].compact
  sort!
end | 
 
    
      
  
  
    #sort!  ⇒ Object 
  
  
  
  
    | 
19
20
21
22
23
24
25
26 | # File 'lib/active_enum/storage/memory_store.rb', line 19
def sort!
  case @order
  when :asc
    _values.sort! { |a,b| a[0] <=> b[0] }
  when :desc
    _values.sort! { |a,b| b[0] <=> a[0] }
  end
end |