diff --git a/lib/nanoc/base/compilation/compiler.rb b/lib/nanoc/base/compilation/compiler.rb index a263ea10f4..5e1af1aaaf 100644 --- a/lib/nanoc/base/compilation/compiler.rb +++ b/lib/nanoc/base/compilation/compiler.rb @@ -98,6 +98,10 @@ def run end def load_stores + # FIXME: icky hack to update the dependency store’s list of objects + # (does not include preprocessed objects otherwise) + dependency_store.objects = site.items.to_a + site.layouts.to_a + stores.each(&:load) end diff --git a/lib/nanoc/base/repos/dependency_store.rb b/lib/nanoc/base/repos/dependency_store.rb index fbf918eeea..7114e798e4 100644 --- a/lib/nanoc/base/repos/dependency_store.rb +++ b/lib/nanoc/base/repos/dependency_store.rb @@ -2,7 +2,7 @@ module Nanoc::Int # @api private class DependencyStore < ::Nanoc::Int::Store # @return [Array] - attr_reader :objects + attr_accessor :objects # @param [Array] objects def initialize(objects) diff --git a/spec/nanoc/regressions/gh_885_spec.rb b/spec/nanoc/regressions/gh_885_spec.rb new file mode 100644 index 0000000000..095b888bdf --- /dev/null +++ b/spec/nanoc/regressions/gh_885_spec.rb @@ -0,0 +1,30 @@ +describe 'GH-885', site: true, stdio: true do + before do + File.write( + 'content/index.html', + "<%= @items['/hello.*'].compiled_content %> - <%= Time.now.to_f %>", + ) + + File.write('Rules', <') + File.write('Rules', <') + Nanoc::CLI.run(%w(compile)) + expect(File.read('output/hello.html')).to include('donkeys?') + end +end