class Confinement::Site
Attributes
asset_blobs[R]
content_blobs[R]
guesses[RW]
layout_blobs[R]
root[R]
route_identifiers[R]
view_context_helpers[RW]
Public Class Methods
new(config) { |self| ... }
click to toggle source
# File lib/confinement.rb, line 231 def initialize(config) @root = config.root yield(self) @view_context_helpers ||= [] @guesses ||= Rendering.guesses @route_identifiers = RouteIdentifiers.new @asset_blobs = Blobs.new(scoped_root: config.source.assets_path, file_abstraction_class: Asset) @content_blobs = Blobs.new(scoped_root: config.source.contents_path, file_abstraction_class: Content) @layout_blobs = Blobs.new(scoped_root: config.source.layouts_path, file_abstraction_class: Layout) end
Public Instance Methods
partial_compilation()
click to toggle source
# File lib/confinement.rb, line 275 def partial_compilation { asset_blobs: @asset_blobs } end
partial_compilation=(previous_partial_compilation)
click to toggle source
# File lib/confinement.rb, line 279 def partial_compilation=(previous_partial_compilation) return if previous_partial_compilation.nil? @asset_blobs = previous_partial_compilation.fetch(:asset_blobs) nil end
rules() { |assets: asset_blobs, layouts: layout_blobs, contents: content_blobs, routes: route_identifiers| ... }
click to toggle source
# File lib/confinement.rb, line 255 def rules yield( assets: @asset_blobs, layouts: @layout_blobs, contents: @content_blobs, routes: @route_identifiers ) guesser = Rendering::Guesser.new(guesses) guess_renderers(guesser, @layout_blobs) guess_renderers(guesser, @content_blobs) @asset_blobs.done! @layout_blobs.done! @content_blobs.done! @route_identifiers.done! nil end
Private Instance Methods
guess_renderers(guesser, blobs)
click to toggle source
# File lib/confinement.rb, line 289 def guess_renderers(guesser, blobs) blobs.send(:lookup).values.each do |blob| blob.renderers = blob.renderers.flat_map do |renderer| if renderer == :guess guesser.call(blob.input_path) else renderer end end end end