module Sinatra::HamlHelpers

Sinatra::HamlHelpers

This extension provides some of the helper methods that existed in Haml 5 but were removed in Haml 6. To use this in your app, just register it:

require 'sinatra/base'
require 'sinatra/haml_helpers'

class Application < Sinatra::Base
  register Sinatra::HamlHelpers

  # now you can use the helpers in your views
  get '/' do
    haml_code = <<~HAML
      %p
        != surround "(", ")" do
          %a{ href: "https://example.org/" } example.org
    HAML
    haml haml_code
  end
end

Public Instance Methods

_capture_haml(*args, &block) click to toggle source
# File lib/sinatra/haml_helpers.rb, line 44
def _capture_haml(*args, &block)
  capture(*args, &block)
end
precede(str, &block) click to toggle source
# File lib/sinatra/haml_helpers.rb, line 36
def precede(str, &block)
  "#{str}#{_capture_haml(&block).chomp}\n"
end
succeed(str, &block) click to toggle source
# File lib/sinatra/haml_helpers.rb, line 40
def succeed(str, &block)
  "#{_capture_haml(&block).chomp}#{str}\n"
end
surround(front, back = front, &block) click to toggle source
# File lib/sinatra/haml_helpers.rb, line 32
def surround(front, back = front, &block)
  "#{front}#{_capture_haml(&block).chomp}#{back}\n"
end