Sha256: f6a0fe5568004421342feff0ae185d4d8c8a1e2074018df764fdfc358a6c524e

Contents?: true

Size: 718 Bytes

Versions: 5

Compression:

Stored size: 718 Bytes

Contents

# frozen_string_literal: true

require "hanami/view"
require_relative "../slice_configurable"
require_relative "view/slice_configured_view"

module Hanami
  module Extensions
    # Extended behavior for actions intended for use within an Hanami app.
    #
    # @see Hanami::View
    #
    # @api public
    # @since 2.0.0
    module View
      def self.included(view_class)
        super

        view_class.extend(Hanami::SliceConfigurable)
        view_class.extend(ClassMethods)
      end

      module ClassMethods
        # @api private
        def configure_for_slice(slice)
          extend SliceConfiguredView.new(slice)
        end
      end
    end
  end
end

Hanami::View.include(Hanami::Extensions::View)

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
hanami-2.0.0.beta4 lib/hanami/extensions/view.rb
hanami-2.0.0.beta3 lib/hanami/extensions/view.rb
hanami-2.0.0.beta2 lib/hanami/extensions/view.rb
hanami-2.0.0.beta1.1 lib/hanami/extensions/view.rb
hanami-2.0.0.beta1 lib/hanami/extensions/view.rb