class Nanoc::RuleDSL::ActionProvider
Attributes
rules_collection[R]
@api private
Public Class Methods
for(site)
click to toggle source
# File lib/nanoc/rule_dsl/action_provider.rb, line 8 def self.for(site) rules_collection = Nanoc::RuleDSL::RulesCollection.new rule_memory_calculator = Nanoc::RuleDSL::RuleMemoryCalculator.new( rules_collection: rules_collection, site: site) action_provider = new(rules_collection, rule_memory_calculator) Nanoc::RuleDSL::RulesLoader.new(site.config, rules_collection).load action_provider end
new(rules_collection, rule_memory_calculator)
click to toggle source
# File lib/nanoc/rule_dsl/action_provider.rb, line 22 def initialize(rules_collection, rule_memory_calculator) @rules_collection = rules_collection @rule_memory_calculator = rule_memory_calculator end
Public Instance Methods
memory_for(rep)
click to toggle source
# File lib/nanoc/rule_dsl/action_provider.rb, line 34 def memory_for(rep) @rule_memory_calculator[rep] end
new_postprocessor_context(site, view_context)
click to toggle source
@api private
# File lib/nanoc/rule_dsl/action_provider.rb, line 69 def new_postprocessor_context(site, view_context) Nanoc::Int::Context.new( config: Nanoc::ConfigView.new(site.config, view_context), items: Nanoc::PostCompileItemCollectionView.new(site.items, view_context), ) end
new_preprocessor_context(site)
click to toggle source
@api private
# File lib/nanoc/rule_dsl/action_provider.rb, line 60 def new_preprocessor_context(site) Nanoc::Int::Context.new( config: Nanoc::MutableConfigView.new(site.config, nil), items: Nanoc::MutableItemCollectionView.new(site.items, nil), layouts: Nanoc::MutableLayoutCollectionView.new(site.layouts, nil), ) end
postprocess(site, reps)
click to toggle source
# File lib/nanoc/rule_dsl/action_provider.rb, line 50 def postprocess(site, reps) view_context = Nanoc::ViewContext.new(reps: reps, items: site.items) ctx = new_postprocessor_context(site, view_context) @rules_collection.postprocessors.each_value do |postprocessor| ctx.instance_eval(&postprocessor) end end
preprocess(site)
click to toggle source
# File lib/nanoc/rule_dsl/action_provider.rb, line 42 def preprocess(site) ctx = new_preprocessor_context(site) @rules_collection.preprocessors.each_value do |preprocessor| ctx.instance_eval(&preprocessor) end end
rep_names_for(item)
click to toggle source
# File lib/nanoc/rule_dsl/action_provider.rb, line 27 def rep_names_for(item) matching_rules = @rules_collection.item_compilation_rules_for(item) raise Nanoc::Int::Errors::NoMatchingCompilationRuleFound.new(item) if matching_rules.empty? matching_rules.map(&:rep_name).uniq end
snapshots_defs_for(rep)
click to toggle source
# File lib/nanoc/rule_dsl/action_provider.rb, line 38 def snapshots_defs_for(rep) @rule_memory_calculator.snapshots_defs_for(rep) end