| Class | Mack::Utils::RegistryMap |
| In: |
lib/mack-facets/utils/registry_map.rb
|
| Parent: | Object |
Provides a convenient way to register items in a map.
The structure of the registry is { :tag => [content] }, and the items within the array can be arranged anyway the user sees fit.
ds - july 2008
| registered_items | [R] | The list of registered items |
Adds an object to the list at a specified position. By default the position is last.
# File lib/mack-facets/utils/registry_map.rb, line 70
70: def add(tag, klass, position = -1)
71: self.instance.add(tag, klass, position)
72: end
Emptys out the list of registered_items.
# File lib/mack-facets/utils/registry_map.rb, line 60
60: def clear!
61: registered_items.clear
62: end
Moves an object to the bottom of the registered_items list.
# File lib/mack-facets/utils/registry_map.rb, line 85
85: def move_to_bottom(tag, klass)
86: remove(tag, klass)
87: self.instance.add(tag, klass)
88: end
Moves an object to the top of the registered_items list.
# File lib/mack-facets/utils/registry_map.rb, line 80
80: def move_to_top(tag, klass)
81: self.instance.add(tag, klass, 0)
82: end
Returns the list of registered items.
# File lib/mack-facets/utils/registry_map.rb, line 55
55: def registered_items
56: self.instance.registered_items
57: end
Removes an object from the list.
# File lib/mack-facets/utils/registry_map.rb, line 75
75: def remove(tag, klass)
76: self.instance.remove(tag, klass)
77: end
Resets the registered_items list to the list specified by the initial_state method.
# File lib/mack-facets/utils/registry_map.rb, line 65
65: def reset!
66: self.instance.reset!
67: end
Adds an object to the list at a specified position. By default the position is last.
# File lib/mack-facets/utils/registry_map.rb, line 36
36: def add(tag, klass, position = -1)
37: @registered_items[tag] ||= []
38: arr = self.registered_items[tag]
39: position = arr.size if position == -1
40:
41: arr.insert(position, klass)
42: arr.uniq!
43: arr.compact!
44: end
Override this method to set the initial state of the registered_items Array. By default this list is empty.
# File lib/mack-facets/utils/registry_map.rb, line 26
26: def initial_state
27: {}
28: end
Removes an object from the list.
# File lib/mack-facets/utils/registry_map.rb, line 47
47: def remove(tag, klass)
48: return false if @registered_items[tag] == nil
49: self.registered_items[tag].delete(klass)
50: end
Resets the registered_items list to the list specified by the initial_state method.
# File lib/mack-facets/utils/registry_map.rb, line 31
31: def reset!
32: @registered_items = self.initial_state.dup
33: end