class String

Public Instance Methods

fastlane_class() click to toggle source
# File lib/fastlane_core/core_ext/string.rb, line 2
def fastlane_class
  split('_').collect!(&:capitalize).join
end
fastlane_module() click to toggle source
# File lib/fastlane_core/core_ext/string.rb, line 6
def fastlane_module
  self == "pem" ? 'PEM' : self.fastlane_class
end
fastlane_underscore() click to toggle source
# File lib/fastlane_core/core_ext/string.rb, line 10
def fastlane_underscore
  self.gsub(/::/, '/').
    gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').
    gsub(/([a-z\d])([A-Z])/, '\1_\2').
    tr("-", "_").
    downcase
end
truncate(truncate_at, options = {}) click to toggle source

Truncates a given text after a given length if text is longer than length:

'Once upon a time in a world far far away'.truncate(27)
# => "Once upon a time in a wo..."

Pass a string or regexp :separator to truncate text at a natural break:

'Once upon a time in a world far far away'.truncate(27, separator: ' ')
# => "Once upon a time in a..."

'Once upon a time in a world far far away'.truncate(27, separator: /\s/)
# => "Once upon a time in a..."

The last characters will be replaced with the :omission string (defaults to “…”) for a total length not exceeding length:

'And they found that many people were sleeping better.'.truncate(25, omission: '... (continued)')
# => "And they f... (continued)"
# File lib/fastlane_core/string_filters.rb, line 20
def truncate(truncate_at, options = {})
  return dup unless length > truncate_at

  omission = options[:omission] || '...'
  length_with_room_for_omission = truncate_at - omission.length
  stop = \
    if options[:separator]
      rindex(options[:separator], length_with_room_for_omission) || length_with_room_for_omission
    else
      length_with_room_for_omission
    end

  "#{self[0, stop]}#{omission}"
end