Sha256: 7861b2e68863cbe91de70832bf74724bc777be7acfe8c3e04db0d745d81b9d61

Contents?: true

Size: 1.65 KB

Versions: 3

Compression:

Stored size: 1.65 KB

Contents

module Padrino
  module Helpers
    module OutputHelpers
      ##
      # Handler for reading and writing from a haml template.
      #
      class HamlHandler < AbstractHandler
        ##
        # Returns true if the current template type is same as this handlers; false otherwise.
        #
        # @example
        #   @handler.is_type? => true
        #
        def is_type?
          template.respond_to?(:is_haml?) && template.is_haml?
        end

        ##
        # Returns true if the block given is of the handler's template type; false otherwise.
        #
        # @example
        #   @handler.block_is_type?(block) => true
        #
        def block_is_type?(block)
          template.block_is_haml?(block)
        end

        ##
        # Captures the html from a block of template code for this handler.
        #
        # @example
        #   @handler.capture_from_template(&block) => "...html..."
        #
        def capture_from_template(*args, &block)
          eval("_hamlout ||= @haml_buffer", block.binding)
          template.capture_haml(*args, &block)
        end

        ##
        # Outputs the given text to the templates buffer directly.
        #
        # @example
        #   @handler.concat_to_template("This will be output to the template buffer")
        #
        def concat_to_template(text="")
          template.haml_concat(text)
          nil
        end

        ##
        # Returns an array of engines used for the template.
        #
        # @example
        #   @handler.engines => [:haml]
        #
        def engines
          @_engines ||= [:haml]
        end
      end
      OutputHelpers.register(HamlHandler)
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
middleman-core-3.2.2 lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/haml_handler.rb
middleman-core-3.2.1 lib/vendored-middleman-deps/padrino-helpers-0.11.4/lib/padrino-helpers/output_helpers/haml_handler.rb
padrino-helpers-0.11.4 lib/padrino-helpers/output_helpers/haml_handler.rb