chap8_ex_gem_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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e47e9b3ddd7ee07b6f70658ce895e4bd334eff938bc248d5d25a71f1a15e906
4
- data.tar.gz: 7854344b1fdaee461d14f60f85dadf43045f6de6715f7e181c4e384b3823270c
3
+ metadata.gz: cf407c47a83f51a42319dfd84dee08216ebbda73a38209792ee9b6b3ba847806
4
+ data.tar.gz: 57de3b43ee352ea96e31a63a0f6fac35493a369048ff604a15ce20d267d4f08c
5
5
  SHA512:
6
- metadata.gz: 390450ffa4500ebefe7f027f7569f99306fdd6acf614f229e1788b45277d5fcdc5d8897498d875b88474b43384eb97dc8484cf37e793fa5188eccb64d3a8cdb0
7
- data.tar.gz: 0016eafe396d38cf3301ffbeb9c350eacdadbc941e1ec9ad774c8d5542a166d21b68003eb210314fe2d63dd2ff57e8e3eb45e8bc04ca46d575d3f45f2e7820a6
6
+ metadata.gz: 877eb2f100abc30973a31063e4caa41d713f199d9d2d2d5ec6028ce7741ab84318593cd7e2c2e5a78cd461448c9bdc9464a26134eac91f427b9c5f543be45f1f
7
+ data.tar.gz: d1465fe63439df2de746879d458b8d6afe73a305c418d653f59174057c56348fe86c5007af74122f34afaf2a21d159ab84790b45673dcb00aed119d7dd09f638
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- chap8_ex_gem_palindrome (0.1.0)
4
+ chap8_ex_gem_palindrome (0.2.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Chap8ExGemPalindrome
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
@@ -1,70 +1,91 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # Version 0.2.0
4
+
3
5
  require_relative "chap8_ex_gem_palindrome/version"
4
6
 
5
- class String
7
+ module Chap8ExGemPalindrome
6
8
 
7
9
  # Returns true for a palindrome, false otherwise.
8
10
  def palindrome?
9
11
  processed_content == processed_content.reverse
10
12
  end
11
13
 
12
- # Returns the letters of the string (made by myself).
13
- # def letters
14
- # self.scan(/[a-z*A-Z*]/).join
15
- # end
16
-
17
- # Longer version A (from Tutorial).
18
- # def letters
19
- # the_letters = []
20
- # for i in 0..(self.length - 1) do
21
- # if self[i].match(/[a-zA-Z]/)
22
- # the_letters << self[i]
23
- # end
24
- # end
25
- # the_letters.join
26
- # end
27
-
28
- # Longer version B (made by myself).
29
- # def letters
30
- # the_letters = []
31
- # regex_letters = /[a-z]/i # i for case incensitive
32
- # self.each_char do |letter|
33
- # if letter.match(regex_letters)
34
- # the_letters << letter
35
- # end
36
- # end
37
- # the_letters.join
38
- # end
39
-
40
- # Shorter version (following tutorial, from myself)
41
- # def letters
42
- # the_letters = self.chars.select { |char| char.match?(/[a-z]/i) }
43
- # the_letters.join
44
- # end
45
-
46
- # Shorter version (from tutorial)
47
- # def letters
48
- # chars.select { |char| char.match?(/[a-z]/i) }.join
49
- # end
50
-
51
- # Finally Hartl end ups with the same code as I.
52
- # def letters
53
- # self.scan(/[a-z*A-Z*]/).join
54
- # end
55
- # And he goes further by pasting this in the processed_content and
56
- # deleting the letters method !
57
-
58
14
  private
59
15
 
60
16
  # Returns content for palindrome testing.
61
- # FIRST version:
62
- # def processed_content
63
- # self.letters.downcase
64
- # end
65
-
66
- # SECOND version, after joining to it the letters method:
67
17
  def processed_content
68
- self.scan(/[a-z*A-Z*]/).join.downcase
18
+ scan(/[a-z0-9]/i).join.downcase
69
19
  end
70
20
  end
21
+
22
+ class String
23
+ include Chap8ExGemPalindrome
24
+ end
25
+
26
+ # class String
27
+
28
+ # # Returns true for a palindrome, false otherwise.
29
+ # def palindrome?
30
+ # processed_content == processed_content.reverse
31
+ # end
32
+
33
+ # # Returns the letters of the string (made by myself).
34
+ # # def letters
35
+ # # self.scan(/[a-z*A-Z*]/).join
36
+ # # end
37
+
38
+ # # Longer version A (from Tutorial).
39
+ # # def letters
40
+ # # the_letters = []
41
+ # # for i in 0..(self.length - 1) do
42
+ # # if self[i].match(/[a-zA-Z]/)
43
+ # # the_letters << self[i]
44
+ # # end
45
+ # # end
46
+ # # the_letters.join
47
+ # # end
48
+
49
+ # # Longer version B (made by myself).
50
+ # # def letters
51
+ # # the_letters = []
52
+ # # regex_letters = /[a-z]/i # i for case incensitive
53
+ # # self.each_char do |letter|
54
+ # # if letter.match(regex_letters)
55
+ # # the_letters << letter
56
+ # # end
57
+ # # end
58
+ # # the_letters.join
59
+ # # end
60
+
61
+ # # Shorter version (following tutorial, from myself)
62
+ # # def letters
63
+ # # the_letters = self.chars.select { |char| char.match?(/[a-z]/i) }
64
+ # # the_letters.join
65
+ # # end
66
+
67
+ # # Shorter version (from tutorial)
68
+ # # def letters
69
+ # # chars.select { |char| char.match?(/[a-z]/i) }.join
70
+ # # end
71
+
72
+ # # Finally Hartl end ups with the same code as I.
73
+ # # def letters
74
+ # # self.scan(/[a-z*A-Z*]/).join
75
+ # # end
76
+ # # And he goes further by pasting this in the processed_content and
77
+ # # deleting the letters method !
78
+
79
+ # private
80
+
81
+ # # Returns content for palindrome testing.
82
+ # # FIRST version:
83
+ # # def processed_content
84
+ # # self.letters.downcase
85
+ # # end
86
+
87
+ # # SECOND version, after joining to it the letters method:
88
+ # def processed_content
89
+ # self.scan(/[a-z*A-Z*]/).join.downcase
90
+ # end
91
+ # end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chap8_ex_gem_palindrome
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Xeniouska
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-03-23 00:00:00.000000000 Z
11
+ date: 2023-03-24 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Learn Enough Ruby palindrome detector
14
14
  email: