startup_geezer_palindrome 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/startup_geezer_palindrome.rb +33 -27
- data/lib/startup_geezer_palindrome/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46c019c833549111b475d9ea0486a62e56e6b4e34f5f777c0a055d6c01330990
|
4
|
+
data.tar.gz: 82207e37c9ff1d407c2c452ffc003f190ef20a8c554c13ea31357bfc407d6cdf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88a9b8e59df64777cb7d45154ff32f79b76a363e5b89136dca6046d44194c2c61cf5d2d8ccca1dd904e6fb88721a9e3439c70e3bc09d29f1de9550b88de93a56
|
7
|
+
data.tar.gz: ced6013cda05811b7424d5cb868cbf57b4597305c89c06ac5a5d3a5bb7c71a30e21580c4e061380a86834e8e948c9aeea857ca6f043c9cc6a5c91d0077ebfd85
|
data/Gemfile.lock
CHANGED
@@ -1,37 +1,43 @@
|
|
1
1
|
require "startup_geezer_palindrome/version"
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
# # Your code goes here...
|
6
|
-
# end
|
3
|
+
module StartupGeezerPalindrome
|
4
|
+
class Error < StandardError; end
|
7
5
|
|
8
|
-
class String
|
9
6
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
7
|
+
# Returns true for a palindrome, false otherwise.
|
8
|
+
def palindrome?
|
9
|
+
processed_content == processed_content.reverse
|
10
|
+
end
|
14
11
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
end
|
12
|
+
# Return the letters in the string
|
13
|
+
def letters # NO LONGER USED ... see Mind-Blowing, below.
|
14
|
+
#UGLY version:
|
15
|
+
the_letters = []
|
16
|
+
for i in 0..self.length - 1
|
17
|
+
if (self[i].match(/[a-zA-Z]/))
|
18
|
+
the_letters << self[i]
|
23
19
|
end
|
24
|
-
the_letters.join
|
25
20
|
end
|
21
|
+
the_letters.join
|
22
|
+
end
|
26
23
|
|
27
|
-
|
24
|
+
private
|
28
25
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
26
|
+
# Returns content for palindrome testing.
|
27
|
+
def processed_content
|
28
|
+
# ORIGINALLY: self.letters.downcase
|
29
|
+
# Mind-blowing! Eliminates the need for letters method:
|
30
|
+
# self.scan(/[a-z]/i).join.downcase
|
31
|
+
# But ... don't even need the "self."
|
32
|
+
to_s.scan(/[a-z\d]/i).join.downcase
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
class String
|
38
|
+
include StartupGeezerPalindrome
|
39
|
+
end
|
40
|
+
|
41
|
+
class Integer
|
42
|
+
include StartupGeezerPalindrome
|
37
43
|
end
|