Sha256: d7f8fc509b97db93161e36089e34cee7c2b7155f1fc737b6041ce2a79478e2f5

Contents?: true

Size: 1.05 KB

Versions: 5

Compression:

Stored size: 1.05 KB

Contents

#          Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
# All files in this distribution are subject to the terms of the MIT license.

module Ramaze
  module Helper
    # Allows you to use some shortcuts for markaby in your Controller.
    module Markaby
      ##
      # Use this inside your controller to directly build Markaby
      # Refer to the Markaby-documentation and testsuite for more examples.
      #
      # @example
      #  mab { h1 "Apples & Oranges"}  #=> "<h1>Apples &amp; Oranges</h1>"
      #  mab { h1 'Apples', :class => 'fruits&floots' }
      #
      def markaby(ivs = {}, helpers = nil, &block)
        builder = ::Markaby::Builder
        builder.extend(Ramaze::Helper::Methods)
        builder.send(:helper, :link)

        iv_hash = {}
        instance_variables.each do |iv|
          key, value = iv.gsub('@', '').to_sym, instance_variable_get(iv)
          iv_hash[key] = value
        end

        builder.new(iv_hash.merge(ivs), helpers, &block).to_s
      end

      alias mab markaby
    end # Markaby
  end # Helper
end # Ramaze

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ramaze-2023.01.06 lib/ramaze/helper/markaby.rb
ramaze-2012.12.08 lib/ramaze/helper/markaby.rb
ramaze-2012.12.08b lib/ramaze/helper/markaby.rb
ramaze-2012.04.14 lib/ramaze/helper/markaby.rb
ramaze-2012.03.07 lib/ramaze/helper/markaby.rb