Sha256: a2d1b44e948ad1b3ef5484bbdbb519ffde571bef5219baedb9ca49096a38b54d
Contents?: true
Size: 1.35 KB
Versions: 1
Compression:
Stored size: 1.35 KB
Contents
module Awestruct module Extensions module Partial def partial(path, params = {}) filename = File.join( ::Awestruct::Engine.instance.config.dir, '_partials', path ) if !File.exists?( filename ) $LOG.error "Could not find #{filename}" if $LOG.error? return nil end page = site.engine.load_site_page( filename ) return nil if !page params.each do |k,v| page.send( "#{k}=", v ) end if params page.send("output_page=", self[:page]) page.partial = true from_site = site.partials.find {|p| p.source_path == page.source_path} # Setup dependency tracking if from_site from_site.dependencies.add_dependent self[:page] self[:page].dependencies.add_dependency from_site Awestruct::Dependencies.track_dependency(from_site) else page.dependencies.add_dependent self[:page] self[:page].dependencies.add_dependency page Awestruct::Dependencies.track_dependency(page) site.partials << page end begin page.content rescue Exception => e ExceptionHelper.log_error "Error occurred while rendering partial #{filename} contained in #{self[:page].source_path}" ExceptionHelper.backtrace e end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
awestruct-0.5.7 | lib/awestruct/extensions/partial.rb |