Module: Spree::Admin::ItemManager
- Included in:
- Actions::Root, MainMenu::Section, Tabs::Root
- Defined in:
- app/models/spree/admin/item_manager.rb
Instance Method Summary collapse
- #add(item) ⇒ Object
- #child_with_key?(key) ⇒ Boolean
- #insert_after(item_key, item_to_add) ⇒ Object
- #insert_before(item_key, item_to_add) ⇒ Object
- #item_for_key(key) ⇒ Object
- #remove(item_key) ⇒ Object
Instance Method Details
#add(item) ⇒ Object
4 5 6 7 8 |
# File 'app/models/spree/admin/item_manager.rb', line 4 def add(item) raise KeyError, "Item with key #{item.key} already exists" if index_for_key(item.key) @items << item end |
#child_with_key?(key) ⇒ Boolean
10 11 12 |
# File 'app/models/spree/admin/item_manager.rb', line 10 def child_with_key?(key) index_for_key(key).present? end |
#insert_after(item_key, item_to_add) ⇒ Object
30 31 32 33 34 |
# File 'app/models/spree/admin/item_manager.rb', line 30 def insert_after(item_key, item_to_add) item_index = index_for_key!(item_key) @items.insert(item_index + 1, item_to_add) end |
#insert_before(item_key, item_to_add) ⇒ Object
24 25 26 27 28 |
# File 'app/models/spree/admin/item_manager.rb', line 24 def insert_before(item_key, item_to_add) item_index = index_for_key!(item_key) @items.insert(item_index, item_to_add) end |
#item_for_key(key) ⇒ Object
20 21 22 |
# File 'app/models/spree/admin/item_manager.rb', line 20 def item_for_key(key) @items.find { |e| e.key == key } end |
#remove(item_key) ⇒ Object
14 15 16 17 18 |
# File 'app/models/spree/admin/item_manager.rb', line 14 def remove(item_key) item_index = index_for_key!(item_key) @items.delete_at(item_index) end |