Responsible for determining whether an item or a layout is outdated.
@api private
@option params [Nanoc::Site] :site (nil) The site this outdatedness
checker belongs to.
@option params [Nanoc::ChecksumStore] :checksum_store (nil) The
checksum store where checksums of items, layouts, … are stored.
@option params [Nanoc::DependencyTracker] :dependency_tracker (nil) The
dependency tracker for the given site.
# File lib/nanoc/base/compilation/outdatedness_checker.rb, line 19 def initialize(params = {}) @site = params.fetch(:site) do raise ArgumentError, 'Nanoc::OutdatednessChecker#initialize needs a :site parameter' end @checksum_store = params.fetch(:checksum_store) do raise ArgumentError, 'Nanoc::OutdatednessChecker#initialize needs a :checksum_store parameter' end @dependency_tracker = params.fetch(:dependency_tracker) do raise ArgumentError, 'Nanoc::OutdatednessChecker#initialize needs a :dependency_tracker parameter' end @basic_outdatedness_reasons = {} @outdatedness_reasons = {} @objects_outdated_due_to_dependencies = {} end
Checks whether the given object is outdated and therefore needs to be recompiled.
@param [Nanoc::Item, Nanoc::ItemRep, Nanoc::Layout] obj The object
whose outdatedness should be checked.
@return [Boolean] true if the object is outdated, false otherwise
# File lib/nanoc/base/compilation/outdatedness_checker.rb, line 42 def outdated?(obj) !outdatedness_reason_for(obj).nil? end
Calculates the reason why the given object is outdated.
@param [Nanoc::Item, Nanoc::ItemRep, Nanoc::Layout] obj The object
whose outdatedness reason should be calculated.
@return [Nanoc::OutdatednessReasons::Generic, nil] The reason why the
given object is outdated, or nil if the object is not outdated.
# File lib/nanoc/base/compilation/outdatedness_checker.rb, line 53 def outdatedness_reason_for(obj) reason = basic_outdatedness_reason_for(obj) if reason.nil? && outdated_due_to_dependencies?(obj) reason = Nanoc::OutdatednessReasons::DependenciesOutdated end reason end
Generated with the Darkfish Rdoc Generator 2.