Sha256: 65584b8c221b05d1aab6ba4033c6274ff8d51516609e22e87bae38cbdb7fc699

Contents?: true

Size: 485 Bytes

Versions: 5

Compression:

Stored size: 485 Bytes

Contents

class SmallCage::ErbBase
  def initialize(loader, renderer, obj)
    @loader, @renderer, @obj = loader, renderer, obj
  end

  def method_missing(*args)
    if 1 < args.length
      raise NameError.new("method_missing called with more than one argument: #{@renderer.current_template} #{args.inspect}")
    end

    name = args[0].to_s
    return @obj[name] unless @obj[name].nil?

    # render if template file exists. or return nil.
    return @renderer.render(name, @obj)
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
smallcage-0.2.6 lib/smallcage/erb_base.rb
smallcage-0.2.5 lib/smallcage/erb_base.rb
smallcage-0.2.4 lib/smallcage/erb_base.rb
smallcage-0.2.3 lib/smallcage/erb_base.rb
smallcage-0.2.2 lib/smallcage/erb_base.rb