Class: String

Inherits:
Object
  • Object
show all
Defined in:
fastlane_core/lib/fastlane_core/ui/interface.rb,
fastlane_core/lib/fastlane_core/string_filters.rb,
fastlane_core/lib/fastlane_core/core_ext/string.rb,
spaceship/lib/spaceship/tunes/language_converter.rb,
fastlane_core/lib/fastlane_core/ui/disable_colors.rb

Helpers collapse

Instance Method Summary collapse

Instance Method Details

#deprecatedObject



194
195
196
# File 'fastlane_core/lib/fastlane_core/ui/interface.rb', line 194

def deprecated
  self.bold.blue
end

#fastlane_classObject



2
3
4
# File 'fastlane_core/lib/fastlane_core/core_ext/string.rb', line 2

def fastlane_class
  split('_').collect!(&:capitalize).join
end

#fastlane_moduleObject



6
7
8
# File 'fastlane_core/lib/fastlane_core/core_ext/string.rb', line 6

def fastlane_module
  self == "pem" ? 'PEM' : self.fastlane_class
end

#fastlane_underscoreObject



10
11
12
13
14
15
16
# File 'fastlane_core/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

#middle_truncate(length = 20, options = {}) ⇒ Object



43
44
45
46
47
48
49
50
# File 'fastlane_core/lib/fastlane_core/string_filters.rb', line 43

def middle_truncate(length = 20, options = {})
  omission = options[:omission] || '...'
  return self if self.length <= length + omission.length
  return self[0..length] if length < omission.length
  len = (length - omission.length) / 2
  s_len = len - length % 2
  self[0..s_len] + omission + self[self.length - len..self.length]
end

#to_full_languageObject



62
63
64
# File 'spaceship/lib/spaceship/tunes/language_converter.rb', line 62

def to_full_language
  Spaceship::Tunes::LanguageConverter.from_standard_to_itc(self)
end

#to_itc_localeObject



58
59
60
# File 'spaceship/lib/spaceship/tunes/language_converter.rb', line 58

def to_itc_locale
  Spaceship::Tunes::LanguageConverter.from_standard_to_itc_locale(self)
end

#to_language_codeObject



54
55
56
# File 'spaceship/lib/spaceship/tunes/language_converter.rb', line 54

def to_language_code
  Spaceship::Tunes::LanguageConverter.from_itc_to_standard(self)
end

#truncate(truncate_at, options = {}) ⇒ Object

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)"


20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'fastlane_core/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

#wordwrap(length = 80) ⇒ Object



36
37
38
39
40
# File 'fastlane_core/lib/fastlane_core/string_filters.rb', line 36

def wordwrap(length = 80)
  return [] if length == 0
  self.gsub!(/(\S{#{length}})(?=\S)/, '\1 ')
  self.scan(/.{1,#{length}}(?:\s+|$)/)
end