aes37_palindrome 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/aes37_palindrome.rb +15 -3
- data/lib/aes37_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: f2aae5131d760dee4e56296daa694159127bc591e85f5711347256e5c7a0ac80
|
4
|
+
data.tar.gz: 9c4675bc453f97a25be3e337760da58110134ee10eea6c79eaa983b9b20ea90e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a85c8a66a23b60aeb89670460e555a505657d7327429be28b92650c11df66b2573809cddbaef46337bcb363c956f89096e9e3c2f026d2beee5e527a7a8f1e25f
|
7
|
+
data.tar.gz: cea711d267e348ed060c43a17f5cf6faa606c46d9f6403cdbc6a84bde16aab1eb298a46634262b9c16a518f4292e22f41fdc4b5c043f86560e27edfe72d5719e
|
data/Gemfile.lock
CHANGED
data/lib/aes37_palindrome.rb
CHANGED
@@ -1,16 +1,28 @@
|
|
1
1
|
require "aes37_palindrome/version"
|
2
2
|
|
3
|
-
|
3
|
+
module Palindrome
|
4
4
|
|
5
5
|
# Returns true for a palindrome, false otherwise.
|
6
6
|
def palindrome?
|
7
|
-
|
7
|
+
if processed_content.empty?
|
8
|
+
false
|
9
|
+
else
|
10
|
+
processed_content == processed_content.reverse
|
11
|
+
end
|
8
12
|
end
|
9
13
|
|
10
14
|
private
|
11
15
|
|
12
16
|
# Returns content for palindrome testing.
|
13
17
|
def processed_content
|
14
|
-
|
18
|
+
self.to_s.scan(/[a-z\d]/i).join.downcase
|
15
19
|
end
|
16
20
|
end
|
21
|
+
|
22
|
+
class String
|
23
|
+
include Palindrome
|
24
|
+
end
|
25
|
+
|
26
|
+
class Integer
|
27
|
+
include Palindrome
|
28
|
+
end
|