Module: StTools::Module::String

Defined in:
lib/modules/string.rb

Instance Method Summary collapse

Instance Method Details

#capsString

Метод делает строку downcase но каждую букву каждого слова - заглавной

Examples:

Капитализация первых букв строки

"саН-франЦИСКО".caps #=> "Сан-Франциско"

Returns:

  • (String)

    преобразованная строка



89
90
91
# File 'lib/modules/string.rb', line 89

def caps
  ::StTools::String.caps(self)
end

#delatString

Метод заменяет случайно набранные английские символы (с, р, y) в соответствующие по написанию русские

Returns:

  • (String)

    строка, в которой случайно набранные английские символы заменены на русские



15
16
17
# File 'lib/modules/string.rb', line 15

def delat
  ::StTools::String.delat(self)
end

#downcaseString

Метод переводит русскую и английскую строку в нижний регистр без использования MultiByte (только UTF-8)

Examples:

Перевод строки в нижний регистр

"Владимир".upcase #=> "владимир"

Returns:

  • (String)

    строка в нижнем регистре



25
26
27
# File 'lib/modules/string.rb', line 25

def downcase
  ::StTools::String.downcase(self)
end

#hideString

Метод заменяет часть символов строки на звездочки

Examples:

Сокрытие части строки

"Владимир".hide #=> "Вл*ди*ир"

Returns:

  • (String)

    строка, в которой часть букв заменены на звездочки (случайным образом)



53
54
55
# File 'lib/modules/string.rb', line 53

def hide
  ::StTools::String.hide(self)
end

#normalizeString

Метод удаляет пробелы в начале и конце строки, проводит #delat, #downcase

Examples:

Нормализация строки

"   Владимир".normalize #=> "владимир"

Returns:

  • (String)

    нормализованная строка



44
45
46
# File 'lib/modules/string.rb', line 44

def normalize
  ::StTools::String.normalize(self)
end

#prune(length, words: false, endwith: '...') ⇒ String

Метод обрезает строку и добавляет в случае обрезнаия многоточие

Examples:

Обрезание строки

"1234567890".prune(20)                  #=> "1234567890"
"1234567890".prune(8)                   #=> "12345..."
"1234567890".prune(8, endwidth: '---')  #=> "12345---"
"Привет мир!".prune(12)                 #=> "Привет ми..."
"Привет мир!".prune(12, words: true)    #=> "Привет..."

Returns:

  • (String)

    сокращенная строка строка



102
103
104
# File 'lib/modules/string.rb', line 102

def prune(length, words: false, endwith: '...')
  ::StTools::String.prune(self, length, words, endwith)
end

#st_split(separator, opts = {}) ⇒ Array

Метод разделяет строку на подстроки, и нормализует кажду подстроку через #normalize

Examples:

Преобразование строки в массив чисел

"Москва , Питер , Владимир".split(",") #=> ['москва', 'питер', 'владимир']

Parameters:

  • separator (String)

    строка-разделитель

  • opts (Hash) (defaults to: {})
    • массив параметров вызова метода

Options Hash (opts):

  • :sort (Boolean)
    • сортировать результирующий массив

  • :uniq (Boolean)
    • удалить из результирующего массива дубликаты

Returns:

  • (Array)

    массив чисел



66
67
68
# File 'lib/modules/string.rb', line 66

def st_split(separator, opts = {})
  ::StTools::String.split(self, separator, opts)
end

#to_boolBoolean

Метод переводит строку в значение boolean (true или false). True - если строка имеет одно из трех значений:

‘true’, ‘on’, ‘1’

Examples:

проверка, что строка - true

"True".to_bool #=> true

Returns:

  • (Boolean)

    true или false



132
133
134
# File 'lib/modules/string.rb', line 132

def to_bool
  ::StTools::String.to_bool(self)
end

#to_float(round: 6, stop: true) ⇒ Float

Метод преобразует строковое выражение в число с плавающей запятой. При этом метод корректно преобразует числа вида “12.34” и “12,34”, то есть с точкой и запятой (но будет некорректный результат в случае американских чисел, где запятая - разделитель тысяч, а не дробная часть).

Examples:

Примеры использования

'123.45678'.to_float                                 #=> 123.45678
'123.474565'.to_float(round: 2)                      #=> 123.47
'123,474565'.to_float(round: 2)                      #=> 123.47
'   123,47456564'.to_float(round: 2)                 #=> 123.47
'   10 123,47456'.to_float(round: 2)                 #=> 10123.47
' -  10 123,474565'.to_float(round: 2)               #=> -10123.47
nil.to_float(round: 2) rescue 'fail'                 #=> "fail"
nil.to_float(round: 2, stop: false) rescue 'fail'    #=> 0

Parameters:

  • round (Integer) (defaults to: 6)

    число цифр после запятой при округлении. По умолчанию - 6

  • stop (Object) (defaults to: true)

    если true, то при ошибке будет выброшен “Exception”, иначе при ошибках будет возвращаться “0”. По умолчанию - true.

Returns:

  • (Float)

    число с плавающей запятой



122
123
124
# File 'lib/modules/string.rb', line 122

def to_float(round: 6, stop: true)
  ::StTools::String.to_float(self, round, stop)
end

#to_range(opts = {}) ⇒ Array

Метод переводит введенные человеком цифры, перечисленные через запятую и тире в массив чисел

Examples:

Преобразование строки в массив чисел

"6, 3, 8-10, 1".to_range #=> [6, 3, 8, 9, 10, 1]
"6, 3, 8-10".to_range(sort: true) #=> [1, 3, 6, 8, 9, 10]

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :sort (Boolean)
    • сортировать результирующий массив

  • :uniq (Boolean)
    • удалить из результирующего массива дубликаты

Returns:

  • (Array)

    массив чисел



80
81
82
# File 'lib/modules/string.rb', line 80

def to_range(opts = {})
  ::StTools::String.to_range(self, opts)
end

#translitString

Метод проводит транслитерацию русского текста

Returns:

  • (String)

    транслитерированная строка



8
9
10
# File 'lib/modules/string.rb', line 8

def translit
  ::StTools::String.translit(self)
end

#upcaseString

Метод переводит русскую и английскую строку в верхний регистр без использования MultiByte (только UTF-8)

Examples:

Перевод строки в верхний регистр

"Владимир".upcase #=> "ВЛАДИМИР"

Returns:

  • (String)

    строка в верхнем регистре



35
36
37
# File 'lib/modules/string.rb', line 35

def upcase
  ::StTools::String.upcase(self)
end