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
tdiary-4.2.1 vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.5/lib/active_support/core_ext/string/strip.rb
angular-rails4-templates-0.3.0 vendor/ruby/2.1.0/gems/activesupport-4.1.13/lib/active_support/core_ext/string/strip.rb
angular-rails4-templates-0.3.0 vendor/ruby/2.1.0/gems/activesupport-4.2.4/lib/active_support/core_ext/string/strip.rb
activesupport-4.1.14 lib/active_support/core_ext/string/strip.rb
activesupport-4.2.5 lib/active_support/core_ext/string/strip.rb
activesupport-4.2.5.rc2 lib/active_support/core_ext/string/strip.rb
activesupport-4.1.14.rc2 lib/active_support/core_ext/string/strip.rb
activesupport-4.2.5.rc1 lib/active_support/core_ext/string/strip.rb
activesupport-4.1.14.rc1 lib/active_support/core_ext/string/strip.rb
sc_core-0.0.7 test/dummy/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.4/lib/active_support/core_ext/string/strip.rb
classiccms-0.7.5 vendor/bundle/gems/activesupport-3.2.3/lib/active_support/core_ext/string/strip.rb
classiccms-0.7.4 vendor/bundle/gems/activesupport-3.2.3/lib/active_support/core_ext/string/strip.rb
classiccms-0.7.3 vendor/bundle/gems/activesupport-3.2.3/lib/active_support/core_ext/string/strip.rb
activesupport-4.2.4 lib/active_support/core_ext/string/strip.rb
activesupport-4.1.13 lib/active_support/core_ext/string/strip.rb
activesupport-4.2.4.rc1 lib/active_support/core_ext/string/strip.rb
activesupport-4.1.13.rc1 lib/active_support/core_ext/string/strip.rb
solidus_backend-1.0.0.pre3 vendor/bundle/gems/activesupport-4.2.3/lib/active_support/core_ext/string/strip.rb
solidus_backend-1.0.0.pre2 vendor/bundle/gems/activesupport-4.2.3/lib/active_support/core_ext/string/strip.rb
solidus_backend-1.0.0.pre vendor/bundle/gems/activesupport-4.2.1/lib/active_support/core_ext/string/strip.rb