Class: OpenHAB::Core::Items::Registry
- Inherits:
 - 
      Object
      
        
- Object
 - OpenHAB::Core::Items::Registry
 
 
- Includes:
 - LazyArray
 
- Defined in:
 - lib/openhab/core/items/registry.rb
 
Overview
Provides access to all openHAB items, and acts like an array.
Instance Method Summary collapse
- 
  
    
      #[](name)  ⇒ Item 
    
    
  
  
  
  
  
  
  
  
  
    
Fetches the named item from the the ItemRegistry.
 - 
  
    
      #build(preferred_provider = nil, update: true) { ... } ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Enter the Item Builder DSL.
 - 
  
    
      #key?(name)  ⇒ true, false 
    
    
      (also: #include?, #has_key?)
    
  
  
  
  
  
  
  
  
  
    
Returns true if the given item name exists.
 - 
  
    
      #remove(item_name, recursive: false)  ⇒ Item? 
    
    
  
  
  
  
  
  
  
  
  
    
Remove an item.
 - 
  
    
      #to_a  ⇒ Array 
    
    
  
  
  
  
  
  
  
  
  
    
Explicit conversion to array.
 
Methods included from LazyArray
#each, #method_missing, #to_ary
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 in the class OpenHAB::Core::LazyArray
Instance Method Details
#[](name) ⇒ Item
Fetches the named item from the the ItemRegistry
      22 23 24  | 
    
      # File 'lib/openhab/core/items/registry.rb', line 22 def [](name) EntityLookup.lookup_item(name) end  | 
  
#build(preferred_provider = nil, update: true) { ... } ⇒ Object
Enter the Item Builder DSL.
      56 57 58 59  | 
    
      # File 'lib/openhab/core/items/registry.rb', line 56 def build(preferred_provider = nil, update: true, &block) DSL::Items::BaseBuilderDSL.new(preferred_provider, update: update) .instance_eval_with_dummy_items(&block) end  | 
  
#key?(name) ⇒ true, false Also known as: include?, has_key?
Returns true if the given item name exists
      29 30 31  | 
    
      # File 'lib/openhab/core/items/registry.rb', line 29 def key?(name) !$ir.get(name).nil? end  | 
  
#remove(item_name, recursive: false) ⇒ Item?
Remove an item.
The item must be a managed item (typically created by Ruby or in the UI).
Any associated metadata or channel links are also removed.
      71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86  | 
    
      # File 'lib/openhab/core/items/registry.rb', line 71 def remove(item_name, recursive: false) item_name = item_name.name if item_name.is_a?(Item) provider = Provider.registry.provider_for(item_name) unless provider.is_a?(ManagedProvider) raise "Cannot remove item #{item_name} from non-managed provider #{provider.inspect}" end Metadata::Provider.registry.providers.grep(ManagedProvider).each do |managed_provider| managed_provider.remove_item_metadata(item_name) end Things::Links::Provider.registry.providers.grep(ManagedProvider).each do |managed_provider| managed_provider.remove_links_for_item(item_name) end provider.remove(item_name, recursive) end  | 
  
#to_a ⇒ Array
Explicit conversion to array
      38 39 40  | 
    
      # File 'lib/openhab/core/items/registry.rb', line 38 def to_a $ir.items.map { |item| Proxy.new(item) } end  |