Class: Lookbook::Reloaders

Inherits:
Object
  • Object
show all
Defined in:
lib/lookbook/reloaders.rb

Defined Under Namespace

Classes: Reloader

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeReloaders

Returns a new instance of Reloaders.



7
8
9
# File 'lib/lookbook/reloaders.rb', line 7

def initialize
  @reloaders = []
end

Instance Attribute Details

#reloadersObject (readonly)



5
6
7
# File 'lib/lookbook/reloaders.rb', line 5

def reloaders
  @reloaders
end

Instance Method Details

#add(name, directories, extensions, &callback) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/lookbook/reloaders.rb', line 11

def add(name, directories, extensions, &callback)
  reloader = Reloader.new(name, directories, extensions, &callback)
  reloaders.push(reloader)

  if Engine.reloading?
    Rails.application.reloaders << reloader
    Rails.application.reloader.to_run { reloader.execute_if_updated }
  end

  reloader
end

#execute(name = nil) ⇒ Object



23
24
25
26
27
# File 'lib/lookbook/reloaders.rb', line 23

def execute(name = nil)
  reloaders.each do |reloader|
    reloader.execute if name.nil? || name == reloader.name
  end
end

#register_changes(changes) ⇒ Object



29
30
31
32
# File 'lib/lookbook/reloaders.rb', line 29

def register_changes(changes)
  reloader = reloaders.find { |reloader| reloader.watching?(changes) }
  reloader.last_changes = changes if reloader
end