Module: Paste::JS::Cache
- Included in:
- Base
- Defined in:
- lib/paste/js/cache.rb
Instance Method Summary collapse
- #needs_dependency_update?(result) ⇒ Boolean
- #needs_update?(result) ⇒ Boolean
- #rebuild ⇒ Object
- #rebuild! ⇒ Object
- #rebuild_if(&blk) ⇒ Object
- #register(sources) ⇒ Object
- #registered?(sources) ⇒ Boolean
- #results ⇒ Object
Instance Method Details
#needs_dependency_update?(result) ⇒ Boolean
52 53 54 55 56 |
# File 'lib/paste/js/cache.rb', line 52 def needs_dependency_update? result needs_update_relative_to_sources result do results[result][:parser].js_dependencies end end |
#needs_update?(result) ⇒ Boolean
46 47 48 49 50 |
# File 'lib/paste/js/cache.rb', line 46 def needs_update? result needs_update_relative_to_sources result do results[result][:sources] end end |
#rebuild ⇒ Object
7 8 9 10 11 |
# File 'lib/paste/js/cache.rb', line 7 def rebuild rebuild_if do |result, sources| needs_update? result end end |
#rebuild! ⇒ Object
13 14 15 |
# File 'lib/paste/js/cache.rb', line 13 def rebuild! rebuild_if { |r, s| true } end |
#rebuild_if(&blk) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/paste/js/cache.rb', line 17 def rebuild_if &blk render_all_erb results.each_pair do |result, sources| begin if blk.call(result, sources[:sources]) sources[:parser].reset! write_result result end rescue ResolveError results.delete result end end end |
#register(sources) ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/paste/js/cache.rb', line 31 def register sources if results[result_name(sources)][:sources] != sources results[result_name(sources)] = { :sources => sources, :parser => config.parser.new(self, sources) } write_cache_to_disk end end |
#registered?(sources) ⇒ Boolean
42 43 44 |
# File 'lib/paste/js/cache.rb', line 42 def registered? sources results.key? result_name(sources) end |
#results ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/paste/js/cache.rb', line 58 def results return @results if defined?(@results) @results = Hash.new { {} } begin cached = YAML.load_file tmp_path(config.cache_file) rescue cached = [] end cached.each do |sources| register sources end @results end |