Module: ChupakabraTools::Strings

Defined in:
lib/chupakabra_tools/strings.rb

Class Method Summary collapse

Class Method Details

.cut_string(string, length, options = {}) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/chupakabra_tools/strings.rb', line 3

def self.cut_string(string, length, options={})
    options ||= {}
    options.stringify_keys!

    string ||= ""

    length ||= 30

    if string.length > length
        string[0..length] + "..."
    end
end

.trim(str, chars = nil, options = {}) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/chupakabra_tools/strings.rb', line 16

def self.trim(str, chars = nil, options = {})
    # testing "str" for valid string

    options = {force_trim_whitespaces: false}.merge!(options || {})

    return str if str.nil?
    return nil unless str.is_a?(String)
    return "" if str.blank?
    # testing "chars" for valid string
    return str.strip if chars.nil? || !chars.is_a?(String) || chars.blank? || chars.length > 1
    result_str = str

    result_str.strip! if options[:force_trim_whitespaces]
    result_str = result_str.slice(1..result_str.length-1) while result_str.length > 0 && result_str.chr == chars
    result_str.reverse!
    result_str = result_str.slice!((1..result_str.length-1)) while result_str.length > 0 && result_str.chr == chars
    result_str.reverse!
end