Sha256: 5b56833b80e2854ae635d786fdcc5d3b8c2f170b8e52bbf83646698d46804fb4

Contents?: true

Size: 578 Bytes

Versions: 15

Compression:

Stored size: 578 Bytes

Contents

class String

  # Adds a newline character unless
  # this string is empty or already ends with a newline
  # See https://unix.stackexchange.com/a/18789
  def ensure_newline
    empty? || ends_with?("\n") ? self : self + "\n"
  end

  def friendlish
    I18n.transliterate(self).
      downcase.
      gsub(/[^0-9a-z ]/, '').
      squish.
      gsub(' ', '-')
  end

  def markdown_paragraphs
    split(/\n\s*\n/)
  end

  def normalize_whitespaces
    gsub(/([^[:ascii:]])/) { $1.blank? ? ' ' : $1 }
  end

  def get_file_extension
    File.extname(self).delete '.'
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
mumuki-laboratory-5.13.0 lib/mumuki/laboratory/extensions/string.rb
mumuki-laboratory-5.12.1 lib/mumuki/laboratory/extensions/string.rb
mumuki-laboratory-5.12.0 lib/mumuki/laboratory/extensions/string.rb
mumuki-laboratory-5.11.0 lib/mumuki/laboratory/extensions/string.rb
mumuki-laboratory-5.10.4 lib/mumuki/laboratory/extensions/string.rb
mumuki-laboratory-5.10.3 lib/mumuki/laboratory/extensions/string.rb
mumuki-laboratory-5.10.2 lib/mumuki/laboratory/extensions/string.rb
mumuki-laboratory-5.10.1 lib/mumuki/laboratory/extensions/string.rb
mumuki-laboratory-5.10.0 lib/mumuki/laboratory/extensions/string.rb
mumuki-laboratory-5.9.1 lib/mumuki/laboratory/extensions/string.rb
mumuki-laboratory-5.9.0 lib/mumuki/laboratory/extensions/string.rb
mumuki-laboratory-5.8.3 lib/mumuki/laboratory/extensions/string.rb
mumuki-laboratory-5.8.1 lib/mumuki/laboratory/extensions/string.rb
mumuki-laboratory-5.8.0 lib/mumuki/laboratory/extensions/string.rb
mumuki-laboratory-5.7.0 lib/mumuki/laboratory/extensions/string.rb