Class: FluidCLI::Theme::DevServer::Hooks::FileChangeHook

Inherits:
Object
  • Object
show all
Defined in:
lib/fluid_cli/theme/dev_server/hooks/file_change_hook.rb

Instance Method Summary collapse

Constructor Details

#initialize(ctx, theme:) ⇒ FileChangeHook

Returns a new instance of FileChangeHook.



7
8
9
10
# File 'lib/fluid_cli/theme/dev_server/hooks/file_change_hook.rb', line 7

def initialize(ctx, theme:)
  @ctx = ctx
  @theme = theme
end

Instance Method Details

#call(modified, added, removed, streams: nil) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/fluid_cli/theme/dev_server/hooks/file_change_hook.rb', line 12

def call(modified, added, removed, streams: nil)
  @streams = streams
  files = (modified + added)
    .map { |f| @theme[f] }
  deleted_files = removed
    .map { |f| @theme[f] }

  reload_page(removed) unless deleted_files.empty?
  hot_reload(files) unless files.empty?
end