Sha256: f9efcdc91545ae9d42e0054b7c4dc3a3653933cf44154021c9eb7d9fb2ac3c29

Contents?: true

Size: 666 Bytes

Versions: 439

Compression:

Stored size: 666 Bytes

Contents

require 'active_support/core_ext/object/try'

class String
  # Strips indentation in heredocs.
  #
  # For example in
  #
  #   if options[:usage]
  #     puts <<-USAGE.strip_heredoc
  #       This command does such and such.
  #
  #       Supported options are:
  #         -h         This message
  #         ...
  #     USAGE
  #   end
  #
  # the user would see the usage message aligned against the left margin.
  #
  # Technically, it looks for the least indented line in the whole string, and removes
  # that amount of leading whitespace.
  def strip_heredoc
    indent = scan(/^[ \t]*(?=\S)/).min.try(:size) || 0
    gsub(/^[ \t]{#{indent}}/, '')
  end
end

Version data entries

439 entries across 390 versions & 37 rubygems

Version Path
activesupport-4.2.11.3 lib/active_support/core_ext/string/strip.rb
activesupport-4.2.11.2 lib/active_support/core_ext/string/strip.rb
cocoapods-dependency-html-0.0.2 vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/string/strip.rb
cocoapods-dependency-html-0.0.1 vendor/bundle/gems/activesupport-4.2.11.1/lib/active_support/core_ext/string/strip.rb
activesupport-4.2.11.1 lib/active_support/core_ext/string/strip.rb
activesupport-4.2.11 lib/active_support/core_ext/string/strip.rb
activesupport-4.2.10 lib/active_support/core_ext/string/strip.rb
activesupport-4.2.10.rc1 lib/active_support/core_ext/string/strip.rb
activesupport-4.2.9 lib/active_support/core_ext/string/strip.rb
activesupport-4.2.9.rc2 lib/active_support/core_ext/string/strip.rb
activesupport-4.2.9.rc1 lib/active_support/core_ext/string/strip.rb
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/activesupport-4.2.8/lib/active_support/core_ext/string/strip.rb
mdg-1.0.1 vendor/bundle/ruby/2.3.0/gems/activesupport-3.2.22.5/lib/active_support/core_ext/string/strip.rb
activesupport-4.2.8 lib/active_support/core_ext/string/strip.rb
activesupport-4.2.8.rc1 lib/active_support/core_ext/string/strip.rb
activesupport-3.2.22.5 lib/active_support/core_ext/string/strip.rb
activesupport-3.2.22.4 lib/active_support/core_ext/string/strip.rb
activesupport-4.2.7.1 lib/active_support/core_ext/string/strip.rb
activesupport-3.2.22.3 lib/active_support/core_ext/string/strip.rb
activesupport-4.2.7 lib/active_support/core_ext/string/strip.rb