class Middleman::Builder
def self.after_run(name, &block)
def self.after_run(name, &block) @@hooks[name] = block end
def self.shared_rack
def self.shared_rack @shared_rack ||= begin mock = ::Rack::MockSession.new(SHARED_SERVER) sess = ::Rack::Test::Session.new(mock) response = sess.get("__middleman__") sess end end
def build_all_files
def build_all_files self.class.shared_rack if options.has_key?("glob") action GlobAction.new(self, SHARED_SERVER.views, SHARED_SERVER.build_dir, { :force => true, :glob => options["glob"] }) else action DirectoryAction.new(self, SHARED_SERVER.views, SHARED_SERVER.build_dir, { :force => true }) SHARED_SERVER.proxied_paths.each do |url, proxy| tilt_template(url.gsub(/^\//, "#{SHARED_SERVER.build_dir}/"), { :force => true }) end end end
def initialize(*args)
def initialize(*args) super if options.has_key?("relative") && options["relative"] SHARED_SERVER.activate :relative_assets end end
def run_hooks
def run_hooks return if options.has_key?("glob") @@hooks.each do |name, proc| instance_eval(&proc) end SHARED_SERVER.after_build_callbacks.each do |proc| instance_eval(&proc) end end
def source_paths
def source_paths @source_paths ||= [ SHARED_SERVER.root ] end