Module: StringMagic
- Extended by:
- Advanced::Security, Core::Analysis, Core::Transformation, Formatting::Highlighting, Formatting::Truncation
- Defined in:
- lib/string_magic.rb,
lib/string_magic/version.rb,
lib/string_magic/core/analysis.rb,
lib/string_magic/advanced/security.rb,
lib/string_magic/core/transformation.rb,
lib/string_magic/formatting/truncation.rb,
lib/string_magic/formatting/highlighting.rb
Defined Under Namespace
Modules: Advanced, Core, Formatting
Classes: Error, MalformedInputError
Constant Summary
collapse
- VERSION =
"0.4.0"
Class Method Summary
collapse
extract_entities, readability_score
titleize_names, to_kebab_case, to_pascal_case, to_snake_case
highlight
truncate_sentences, truncate_words
mask_sensitive_data
Class Method Details
.alternating_case(string) ⇒ Object
59
60
61
|
# File 'lib/string_magic.rb', line 59
def self.alternating_case(string)
string.chars.map.with_index { |char, i| i.even? ? char.upcase : char.downcase }.join
end
|
.anagram?(string1, string2) ⇒ Boolean
75
76
77
78
79
|
# File 'lib/string_magic.rb', line 75
def self.anagram?(string1, string2)
processed_string1 = string1.downcase.gsub(/[^a-z0-9]/, "").chars.sort.join
processed_string2 = string2.downcase.gsub(/[^a-z0-9]/, "").chars.sort.join
processed_string1 == processed_string2
end
|
.camel_case(string) ⇒ Object
63
64
65
|
# File 'lib/string_magic.rb', line 63
def self.camel_case(string)
string.split.map(&:capitalize).join
end
|
.capitalize_words(string) ⇒ Object
33
34
35
|
# File 'lib/string_magic.rb', line 33
def self.capitalize_words(string)
string.split.map(&:capitalize).join(" ")
end
|
.count_vowels(string) ⇒ Object
45
46
47
|
# File 'lib/string_magic.rb', line 45
def self.count_vowels(string)
string.downcase.count("aeiou")
end
|
.hello_world ⇒ Object
20
21
22
|
# File 'lib/string_magic.rb', line 20
def self.hello_world
"hello world!"
end
|
.palindrome?(string) ⇒ Boolean
28
29
30
31
|
# File 'lib/string_magic.rb', line 28
def self.palindrome?(string)
cleaned = string.downcase.gsub(/[^a-z0-9]/, "")
cleaned == cleaned.reverse
end
|
.remove_duplicates(string) ⇒ Object
41
42
43
|
# File 'lib/string_magic.rb', line 41
def self.remove_duplicates(string)
string.chars.uniq.join
end
|
.reverse_words(string) ⇒ Object
37
38
39
|
# File 'lib/string_magic.rb', line 37
def self.reverse_words(string)
string.split.reverse.join(" ")
end
|
.snake_case(string) ⇒ Object
67
68
69
|
# File 'lib/string_magic.rb', line 67
def self.snake_case(string)
string.downcase.gsub(/\s+/, "_")
end
|
.title_case(string) ⇒ Object
71
72
73
|
# File 'lib/string_magic.rb', line 71
def self.title_case(string)
string.split.map(&:capitalize).join(" ")
end
|
.to_pig_latin(string) ⇒ Object
49
50
51
52
53
54
55
56
57
|
# File 'lib/string_magic.rb', line 49
def self.to_pig_latin(string)
string.split.map do |word|
if word[0] =~ /[aeiou]/i
word + "ay"
else
word[1..-1] + word[0] + "ay"
end
end.join(" ")
end
|
.word_count(string) ⇒ Object
24
25
26
|
# File 'lib/string_magic.rb', line 24
def self.word_count(string)
string.split.size
end
|