chap8_ex_gem_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 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: