Sha256: 5761ad29dedff9f5e1ad4d9f207baf26afd2b9cbcea9a2508c871058dccc9dda

Contents?: true

Size: 827 Bytes

Versions: 6

Compression:

Stored size: 827 Bytes

Contents

require 'hanami/views/default_template_finder'

module Hanami
  module Views
    # The default view that is rendered for non successful responses (200 and 201)
    #
    # @since 0.1.0
    # @api private
    class Default
      include Hanami::View

      configuration.reset!

      layout nil
      root Pathname.new(File.dirname(__FILE__)).join('../templates').realpath
      template 'default'

      def title
        "#{response[0]} - #{response[2].first || Http::Status.message_for(response[0])}"
      end

      def self.render(root, template_name, context)
        format   = context[:format]
        template = DefaultTemplateFinder.new(self, root, template_name, format).find

        if template
          new(template, context).render
        else
          super(context)
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
hanami-1.0.0.beta2 lib/hanami/views/default.rb
hanami-1.0.0.beta1 lib/hanami/views/default.rb
hanami-0.9.2 lib/hanami/views/default.rb
hanami-0.9.1 lib/hanami/views/default.rb
hanami-0.9.0 lib/hanami/views/default.rb
hanami-0.8.0 lib/hanami/views/default.rb