Sha256: 82ee25add1117859d7f8a68b7242ef342d33cf28740d06c06f74e52445c92c6b
Contents?: true
Size: 1.03 KB
Versions: 2
Compression:
Stored size: 1.03 KB
Contents
require 'listen' module Locomotive::Builder class Listen attr_accessor :reader def self.instance @@instance = new end def start(reader) self.reader = reader self.definitions.each do |definition| self.apply(definition) end end def definitions [ ['config', /\.yml/, [:site, :content_types, :pages, :snippets, :content_entries, :translations]], ['app/views', /\.liquid/, [:pages, :snippets]], ['app/content_types', /\.yml/, [:content_types, :content_entries]], ['data', /\.yml/, :content_entries] ] end protected def apply(definition) reloader = Proc.new do |modified, added, removed| reader.reload(definition.last) end filter = definition[1] path = File.join(self.reader.mounting_point.path, definition.first) path = File.expand_path(path) listener = ::Listen.to(path).filter(filter).change(&reloader) # non blocking listener listener.start(false) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
locomotivecms_builder-1.0.0.alpha2 | lib/locomotive/builder/listen.rb |
locomotivecms_builder-1.0.0.alpha1 | lib/locomotive/builder/listen.rb |