Class Mack::Utils::RegistryList
In: lib/mack-facets/utils/registry_list.rb
Parent: Object

This is a general purpose Singleton Registry class. It takes the drudgery out of creating registry classes, that are, let‘s face it, all pretty much the same.

Methods

Included Modules

Singleton Extlib::Hook

Attributes

registered_items  [R]  The list of registered items

Public Class methods

Adds an object to the list at a specified position. By default the position is last.

[Source]

    # File lib/mack-facets/utils/registry_list.rb, line 59
59:         def add(klass, position = registered_items.size)
60:           self.instance.add(klass, position)
61:         end

Emptys out the list of registered_items.

[Source]

    # File lib/mack-facets/utils/registry_list.rb, line 49
49:         def clear!
50:           registered_items.clear
51:         end

Moves an object to the bottom of the registered_items list.

[Source]

    # File lib/mack-facets/utils/registry_list.rb, line 74
74:         def move_to_bottom(klass)
75:           remove(klass)
76:           self.instance.add(klass)
77:         end

Moves an object to the top of the registered_items list.

[Source]

    # File lib/mack-facets/utils/registry_list.rb, line 69
69:         def move_to_top(klass)
70:           self.instance.add(klass, 0)
71:         end

Returns the list of registered items.

[Source]

    # File lib/mack-facets/utils/registry_list.rb, line 44
44:         def registered_items
45:           self.instance.registered_items
46:         end

Removes an object from the list.

[Source]

    # File lib/mack-facets/utils/registry_list.rb, line 64
64:         def remove(klass)
65:           self.instance.remove(klass)
66:         end

Resets the registered_items list to the list specified by the initial_state method.

[Source]

    # File lib/mack-facets/utils/registry_list.rb, line 54
54:         def reset!
55:           self.instance.reset!
56:         end

Public Instance methods

Adds an object to the list at a specified position. By default the position is last.

[Source]

    # File lib/mack-facets/utils/registry_list.rb, line 30
30:       def add(klass, position = self.registered_items.size)
31:         self.registered_items.insert(position, klass)
32:         self.registered_items.uniq!
33:         self.registered_items.compact!
34:       end

Override this method to set the initial state of the registered_items Array. By default this list is empty.

[Source]

    # File lib/mack-facets/utils/registry_list.rb, line 20
20:       def initial_state
21:         []
22:       end

Removes an object from the list.

[Source]

    # File lib/mack-facets/utils/registry_list.rb, line 37
37:       def remove(klass)
38:         self.registered_items.delete(klass)
39:       end

Resets the registered_items list to the list specified by the initial_state method.

[Source]

    # File lib/mack-facets/utils/registry_list.rb, line 25
25:       def reset!
26:         @registered_items = self.initial_state.dup
27:       end

[Validate]