Sha256: 7866fbc758dd2c636503f7bcf612ea223eda503136718d68b0214f4f89ddb8a4

Contents?: true

Size: 976 Bytes

Versions: 7

Compression:

Stored size: 976 Bytes

Contents

require File.join(File.dirname(__FILE__), 'file_base')
module Mack
  module Rendering # :nodoc:
    module Type # :nodoc:
      # Used to render layouts around views.
      class Layout < Mack::Rendering::Type::FileBase
        
        # See Mack::Rendering::Type::FileBase render_file for more information.
        # 
        # The path to the file is built like such:
        #   app/views/layouts/#{options[:layout] || "application"}.#{format (html, xml, js, etc...)}.#{extension defined in the engine}
        # Example:
        #   app/views/layouts/application.html.erb 
        def render
          l_file = Mack::Paths.layouts("#{self._options[:layout]}.#{self._options[:format]}")
          begin
            render_file(l_file, :layout)
          rescue Mack::Errors::ResourceNotFound => e
            Mack.logger.warn(e)
            self.view_template.yield_to :view
          end
        end
        
      end # Layout
    end # Type
  end # Rendering
end # Mack

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
mack-0.8.0.100 lib/mack/rendering/type/layout.rb
mack-0.8.0.101 lib/mack/rendering/type/layout.rb
mack-0.8.0.2 lib/mack/rendering/type/layout.rb
mack-0.8.1 lib/mack/rendering/type/layout.rb
mack-0.8.2 lib/mack/rendering/type/layout.rb
mack-0.8.3 lib/mack/rendering/type/layout.rb
mack-0.8.3.1 lib/mack/rendering/type/layout.rb