class Inesita::AppFilesListener

Constants

CURRENT_DIR

Public Class Methods

new() click to toggle source
# File lib/inesita/app_files_listener.rb, line 6
def initialize
  @websockets = []
  listener = Listen.to(Config::APP_DIR) do |modified, added, _removed|
    (modified + added).each do |file|
      @websockets.each do |ws|
        ws.send transform_filename(file)
      end
    end
  end
  listener.start
end

Public Instance Methods

add_ws(ws) click to toggle source
# File lib/inesita/app_files_listener.rb, line 18
def add_ws(ws)
  @websockets << ws
end
rm_ws(ws) click to toggle source
# File lib/inesita/app_files_listener.rb, line 22
def rm_ws(ws)
  @websockets.delete(ws)
end
transform_filename(filename) click to toggle source
# File lib/inesita/app_files_listener.rb, line 26
def transform_filename(filename)
  filename.sub!(CURRENT_DIR, '')
  path = filename.split('/')
  path.delete('')
  path.delete(Config::APP_DIR)
  path = path.join('/').split('.')

  prefix = Config::ASSETS_PREFIX
  name = path.first
  if path.include?('rb') || path.include?('js')
    "#{prefix}|#{name}|js"
  elsif path.include?('sass') || path.include?('css')
    "#{prefix}|stylesheet|css"
  end
end