Module: StateFu::ArrayWithSymbolAccessor
- Included in:
- EventArray, StateArray
- Defined in:
- lib/support/arrays.rb
Overview
Stuff shared between StateArray and EventArray
Instance Method Summary collapse
- 
  
    
      #[](idx)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Pass a symbol to the array and get the object with that .name [<Foo @name=:bob>] => <Foo @name=:bob>. 
- #all ⇒ Object
- 
  
    
      #except(*syms)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    SPECME. 
- 
  
    
      #names  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    so we can go Machine.states.names mildly helpful with irb + readline. 
- #only(*syms) ⇒ Object
- #rand ⇒ Object
Instance Method Details
#[](idx) ⇒ Object
Pass a symbol to the array and get the object with that .name
- <Foo @name=:bob>][:bob
- 
> <Foo @name=:bob>
| 10 11 12 13 14 15 16 17 18 19 20 | # File 'lib/support/arrays.rb', line 10 def []( idx ) begin super( idx ) rescue TypeError => e if idx.respond_to?(:to_sym) self.detect { |i| i == idx || i.respond_to?(:name) && i.name == idx.to_sym } else raise e end end end | 
#all ⇒ Object
| 37 38 39 | # File 'lib/support/arrays.rb', line 37 def all self end | 
#except(*syms) ⇒ Object
SPECME
| 29 30 31 | # File 'lib/support/arrays.rb', line 29 def except *syms reject {|el| syms.flatten.compact.map(&:to_sym).include?(el.to_sym) } #.extend ArrayWithSymbolAccessor end | 
#names ⇒ Object
so we can go Machine.states.names mildly helpful with irb + readline
| 24 25 26 | # File 'lib/support/arrays.rb', line 24 def names map(&:name) end | 
#only(*syms) ⇒ Object
| 33 34 35 | # File 'lib/support/arrays.rb', line 33 def only *syms select {|el| syms.flatten.compact.map(&:to_sym).include?(el.to_sym) } #.extend ArrayWithSymbolAccessor end | 
#rand ⇒ Object
| 41 42 43 | # File 'lib/support/arrays.rb', line 41 def rand self.rand end |