module Cucumber::Core::Gherkin::Writer::Indentation

Public Class Methods

level(number) click to toggle source
# File lib/cucumber/core/gherkin/writer/helpers.rb, line 109
def self.level(number)
  Module.new do
    define_method(:indent) do |string, amount = nil|
      return string if string.nil? || string.empty?

      amount ||= number
      "#{' ' * amount}#{string}"
    end

    define_method(:indent_level) do
      number
    end

    define_method(:prepare_statements) do |*statements|
      statements.flatten.compact.map { |s| indent(s) }
    end
  end
end