Class: SassListen::Change
- Inherits:
-
Object
- Object
- SassListen::Change
- Defined in:
- lib/sass-listen/change.rb
Overview
TODO: rename to Snapshot
Defined Under Namespace
Classes: Config
Instance Attribute Summary collapse
-
#record ⇒ Object
readonly
Returns the value of attribute record.
Instance Method Summary collapse
-
#initialize(config, record) ⇒ Change
constructor
A new instance of Change.
-
#invalidate(type, rel_path, options) ⇒ Object
Invalidate some part of the snapshot/record (dir, file, subtree, etc.).
Constructor Details
#initialize(config, record) ⇒ Change
Returns a new instance of Change.
25 26 27 28 |
# File 'lib/sass-listen/change.rb', line 25 def initialize(config, record) @config = config @record = record end |
Instance Attribute Details
#record ⇒ Object (readonly)
Returns the value of attribute record.
23 24 25 |
# File 'lib/sass-listen/change.rb', line 23 def record @record end |
Instance Method Details
#invalidate(type, rel_path, options) ⇒ Object
Invalidate some part of the snapshot/record (dir, file, subtree, etc.)
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/sass-listen/change.rb', line 31 def invalidate(type, rel_path, ) watched_dir = Pathname.new(record.root) change = [:change] = [:cookie] if ! && config.silenced?(rel_path, type) SassListen::Logger.debug { "(silenced): #{rel_path.inspect}" } return end path = watched_dir + rel_path SassListen::Logger.debug do log_details = [:silence] && 'recording' || change || 'unknown' "#{log_details}: #{type}:#{path} (#{.inspect})" end if change = ? { cookie: } : {} config.queue(type, change, watched_dir, rel_path, ) else if type == :dir # NOTE: POSSIBLE RECURSION # TODO: fix - use a queue instead Directory.scan(self, rel_path, ) else change = File.change(record, rel_path) return if !change || [:silence] config.queue(:file, change, watched_dir, rel_path) end end rescue RuntimeError => ex msg = format( '%s#%s crashed %s:%s', self.class, __method__, exinspect, ex.backtrace * "\n") SassListen::Logger.error(msg) raise end |