Class: String
- Inherits:
-
Object
- Object
- String
- Defined in:
- lib/fastlane_core/string_filters.rb,
lib/fastlane_core/core_ext/string.rb,
lib/fastlane_core/ui/disable_colors.rb
Instance Method Summary collapse
- #fastlane_class ⇒ Object
- #fastlane_module ⇒ Object
- #fastlane_underscore ⇒ Object
-
#truncate(truncate_at, options = {}) ⇒ Object
Truncates a given
text
after a givenlength
iftext
is longer thanlength
:.
Instance Method Details
#fastlane_class ⇒ Object
2 3 4 |
# File 'lib/fastlane_core/core_ext/string.rb', line 2 def fastlane_class split('_').collect!(&:capitalize).join end |
#fastlane_module ⇒ Object
6 7 8 |
# File 'lib/fastlane_core/core_ext/string.rb', line 6 def fastlane_module self == "pem" ? 'PEM' : self.fastlane_class end |
#fastlane_underscore ⇒ Object
10 11 12 13 14 15 16 |
# 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 = {}) ⇒ 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 'lib/fastlane_core/string_filters.rb', line 20 def truncate(truncate_at, = {}) return dup unless length > truncate_at omission = [:omission] || '...' length_with_room_for_omission = truncate_at - omission.length stop = \ if [:separator] rindex([:separator], length_with_room_for_omission) || length_with_room_for_omission else length_with_room_for_omission end "#{self[0, stop]}#{omission}" end |