Module: OpenHAB::Core::LazyArray
- Includes:
- Enumerable
- Included in:
- Items::GroupItem::Members, Items::Registry, Rules::Registry, Rules::TaggedArray, Things::Registry
- Defined in:
- lib/openhab/core/lazy_array.rb
Overview
Common base class for array-like collections that have lookup methods to avoid instantiating the elements if you only use the lookup method
your class should implement to_a
Instance Method Summary collapse
- 
  
    
      #each(&block)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Calls the given block once for each object, passing that object as a parameter. 
- 
  
    
      #method_missing(method, *args, &block)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Delegate any other methods to the actual array, exclude mutating methods. 
- 
  
    
      #to_ary  ⇒ Array 
    
    
  
  
  
  
  
  
  
  
  
    Implicitly convertible to array. 
Methods included from Enumerable
#all_groups, #all_members, #command, #command!, #decrease, #down, #equipments, #fast_forward, #groups, #increase, #locations, #member_of, #members, #move, #next, #not_member_of, #not_tagged, #off, #on, #pause, #play, #points, #previous, #refresh, #rewind, #stop, #tagged, #toggle, #up, #update, #update!
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &block) ⇒ Object
Delegate any other methods to the actual array, exclude mutating methods
| 38 39 40 41 42 | # File 'lib/openhab/core/lazy_array.rb', line 38 def method_missing(method, *args, &block) return to_a.send(method, *args, &block) if method[-1] != "!" && Array.instance_methods.include?(method) super end | 
Instance Method Details
#each(&block) ⇒ Object
Calls the given block once for each object, passing that object as a parameter. Returns self.
If no block is given, an Enumerator is returned.
| 24 25 26 27 | # File 'lib/openhab/core/lazy_array.rb', line 24 def each(&block) to_a.each(&block) self end | 
#to_ary ⇒ Array
Implicitly convertible to array
| 33 34 35 | # File 'lib/openhab/core/lazy_array.rb', line 33 def to_ary to_a end | 
 
          