Class: AnimateIt::Registry
- Inherits:
-
Object
- Object
- AnimateIt::Registry
- Defined in:
- lib/animate_it/registry.rb
Instance Method Summary collapse
- #all ⇒ Object
- #fetch(id) ⇒ Object
-
#initialize ⇒ Registry
constructor
A new instance of Registry.
- #register(composition_class) ⇒ Object
-
#reset! ⇒ Object
Drop every registration.
Constructor Details
#initialize ⇒ Registry
Returns a new instance of Registry.
3 4 5 |
# File 'lib/animate_it/registry.rb', line 3 def initialize @compositions = {} end |
Instance Method Details
#all ⇒ Object
20 21 22 |
# File 'lib/animate_it/registry.rb', line 20 def all @compositions.values.sort_by(&:id) end |
#fetch(id) ⇒ Object
14 15 16 17 18 |
# File 'lib/animate_it/registry.rb', line 14 def fetch(id) @compositions.fetch(id) do raise CompositionNotFoundError, "No AnimateIt composition registered for #{id.inspect}" end end |
#register(composition_class) ⇒ Object
7 8 9 10 11 12 |
# File 'lib/animate_it/registry.rb', line 7 def register(composition_class) id = composition_class.id raise ArgumentError, "Composition #{composition_class.name} must declare an id" if id.blank? @compositions[id] = composition_class end |
#reset! ⇒ Object
Drop every registration. Used by AnimateIt.reload_compositions! on
dev-mode reload so renamed/removed composition ids don't linger.
26 27 28 |
# File 'lib/animate_it/registry.rb', line 26 def reset! @compositions.clear end |