Module: Glslkit::Rails::LiveReload::KnownFiles
- Defined in:
- lib/glslkit/rails/live_reload/known_files.rb
Overview
プログラム名ごとに「最後に成功したビルドの files」をプロセス内メモリで
保持する。Glslkit::Bundle.build の known_files: に渡すためのもので、
前処理が失敗した回でも意味のある source_digest を計算できるようにする
(SPEC-livereload.md §3.2 決定1)。development専用の機能なので永続化は
不要(プロセスを跨いだ保持は求めない)。
development でも Puma は複数スレッドで動くため、単純な Hash への 読み書きではレースの余地がある。Mutex で保護する。
Constant Summary collapse
- MUTEX =
Mutex.new
Class Method Summary collapse
Class Method Details
.fetch(name) ⇒ Object
20 21 22 |
# File 'lib/glslkit/rails/live_reload/known_files.rb', line 20 def fetch(name) MUTEX.synchronize { @files_by_name.fetch(name, []) } end |
.remember(name, files) ⇒ Object
24 25 26 |
# File 'lib/glslkit/rails/live_reload/known_files.rb', line 24 def remember(name, files) MUTEX.synchronize { @files_by_name[name] = files } end |