module ERBWithHash

Constants

VERSION

Public Instance Methods

result_with_hash(hash) click to toggle source
# File lib/erb_with_hash.rb, line 16
def result_with_hash(hash)
  b = create_binding_from_hash(hash)
  result(b)
end

Private Instance Methods

create_binding_from_hash(__hash__) click to toggle source
# File lib/erb_with_hash.rb, line 23
def create_binding_from_hash(__hash__)
  if binding.respond_to? :local_variable_set
    __hash__.each_with_object(create_empty_binding) do |(k, v), b|
      b.local_variable_set(k, v)
    end
  else
    HashAsBinding.new(__hash__).instance_eval { Kernel.binding }
  end
end
create_empty_binding() click to toggle source
# File lib/erb_with_hash.rb, line 33
def create_empty_binding
  BasicObject.new.instance_eval { Kernel.binding }
end