Module: StringMagic
- Extended by:
- Core::Analysis, Core::Transformation
- Defined in:
- lib/string_magic.rb,
lib/string_magic/version.rb,
lib/string_magic/core/analysis.rb,
lib/string_magic/core/transformation.rb
Defined Under Namespace
Modules: Core
Classes: Error, MalformedInputError
Constant Summary
collapse
- VERSION =
"0.3.0"
Class Method Summary
collapse
extract_entities, readability_score
to_kebab_case, to_pascal_case, to_snake_case
Class Method Details
.alternating_case(string) ⇒ Object
54
55
56
|
# File 'lib/string_magic.rb', line 54
def self.alternating_case(string)
string.chars.map.with_index { |char, i| i.even? ? char.upcase : char.downcase }.join
end
|
.anagram?(string1, string2) ⇒ Boolean
70
71
72
73
74
|
# File 'lib/string_magic.rb', line 70
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
58
59
60
|
# File 'lib/string_magic.rb', line 58
def self.camel_case(string)
string.split.map(&:capitalize).join
end
|
.capitalize_words(string) ⇒ Object
28
29
30
|
# File 'lib/string_magic.rb', line 28
def self.capitalize_words(string)
string.split.map(&:capitalize).join(" ")
end
|
.count_vowels(string) ⇒ Object
40
41
42
|
# File 'lib/string_magic.rb', line 40
def self.count_vowels(string)
string.downcase.count("aeiou")
end
|
.hello_world ⇒ Object
15
16
17
|
# File 'lib/string_magic.rb', line 15
def self.hello_world
"hello world!"
end
|
.palindrome?(string) ⇒ Boolean
23
24
25
26
|
# File 'lib/string_magic.rb', line 23
def self.palindrome?(string)
cleaned = string.downcase.gsub(/[^a-z0-9]/, "")
cleaned == cleaned.reverse
end
|
.remove_duplicates(string) ⇒ Object
36
37
38
|
# File 'lib/string_magic.rb', line 36
def self.remove_duplicates(string)
string.chars.uniq.join
end
|
.reverse_words(string) ⇒ Object
32
33
34
|
# File 'lib/string_magic.rb', line 32
def self.reverse_words(string)
string.split.reverse.join(" ")
end
|
.snake_case(string) ⇒ Object
62
63
64
|
# File 'lib/string_magic.rb', line 62
def self.snake_case(string)
string.downcase.gsub(/\s+/, "_")
end
|
.title_case(string) ⇒ Object
66
67
68
|
# File 'lib/string_magic.rb', line 66
def self.title_case(string)
string.split.map(&:capitalize).join(" ")
end
|
.to_pig_latin(string) ⇒ Object
44
45
46
47
48
49
50
51
52
|
# File 'lib/string_magic.rb', line 44
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
19
20
21
|
# File 'lib/string_magic.rb', line 19
def self.word_count(string)
string.split.size
end
|