Class: AnimateIt::Registry

Inherits:
Object
  • Object
show all
Defined in:
lib/animate_it/registry.rb

Instance Method Summary collapse

Constructor Details

#initializeRegistry

Returns a new instance of Registry.



3
4
5
# File 'lib/animate_it/registry.rb', line 3

def initialize
  @compositions = {}
end

Instance Method Details

#allObject



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

Raises:

  • (ArgumentError)


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