Sha256: 6b555e80ba61ae3f24aff7958121c00b8891d3d5e29443ff6a91eced35bf2e2e

Contents?: true

Size: 549 Bytes

Versions: 4

Compression:

Stored size: 549 Bytes

Contents

module Ramaze
  module CoreExtensions
    # Extensions for Binding
    module Binding
      # Returns a hash of localvar/localvar-values from binding, useful for
      # template engines that do not accept bindings and force passing locals
      # via hash
      #
      # @example
      #  x = 42; p binding.locals #=> {'x'=> 42}
      def locals
        ::Kernel::eval '
        local_variables.inject({}){|h,v|
          k = v.to_s
          h.merge!(k => eval(k))
        }', self
      end
    end # Binding
  end # CoreExtensions
end # Ramaze

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ramaze-2012.04.14 lib/ramaze/snippets/binding/locals.rb
ramaze-2012.03.07 lib/ramaze/snippets/binding/locals.rb
ramaze-2011.12.28 lib/ramaze/snippets/binding/locals.rb
ramaze-2011.10.23 lib/ramaze/snippets/binding/locals.rb