Method: OpenHAB::Core::Items::Registry#remove
- Defined in:
- lib/openhab/core/items/registry.rb
#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.
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/openhab/core/items/registry.rb', line 70 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.(item_name) end Things::Links::Provider.registry.providers.grep(ManagedProvider).each do |managed_provider| managed_provider.remove_links_for_item(item_name) if managed_provider.respond_to?(:remove_links_for_item) end provider.remove(item_name, recursive) end |