ilyass_palindrome 0.1.0 → 1.1.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: 5adff2442513252d13b958fa46d3ea3cf0cd1f437f8dc99f76d9534f5d2d471c
4
- data.tar.gz: 0d03c2c50a7dec857529d95368a759a9162a2812da9c20071975f23adbabdc06
3
+ metadata.gz: '08ff83ef0faf7b79ac4ed849e9a1cd35596ca909bacd13ade558bfe279f584d3'
4
+ data.tar.gz: 185e9e9e378882139318da2c46eaa6753810ba39235d69fd202157cd018f0bd8
5
5
  SHA512:
6
- metadata.gz: fab9048d875f462ed27b52c4f4184236f7ef0ff2a736e668475381eff1f3d582592f0a37c1e08ffe6bc220df7093b8be40e25dff863c4f7c2fbc7f88b7217291
7
- data.tar.gz: f791baf7b06706b82d549f1f5bfc3161536003a0986fbf9cb6155da460955c5c4cd4889ae327f8cd62a451b4463876ce877ed3e120def168b455dc8a7e8c1c77
6
+ metadata.gz: 6caf90ae949f6dd39aff9ee978c461831e7656fcab8dc911d1ab5e45aaf1f19aadb71c6f98f859e719330f3023f0288fee167889f83e6358f4358ce2c39a2e69
7
+ data.tar.gz: 9fad06a3dad45e21f52cf779d8ed308ead85734c53bd7f7d953185d8da16e86ac1ef36aa9b114e8960a470924ea34b7714fd1a29ac94f37a5e4796f67e314cb0
data/CHANGELOG.md CHANGED
@@ -5,7 +5,14 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [Unreleased]
8
+ ## [0.1.0]
9
9
  - Added: Initial implementation of palindrome checking functionality.
10
+ - Support for String class.
11
+ ## [1.0.0]
12
+ - `palindrome?` now support both the String and Integer classes.
13
+ - This version is for professional use.
14
+ ## [1.1.0]
15
+ - Added a test for whitespaces.
16
+ - This version if mainly for testers and contributors.
10
17
 
11
18
 
data/README.md CHANGED
@@ -1,13 +1,13 @@
1
1
  # Palindrome detector
2
2
 
3
- `ilyass_palindrome` is a sample Ruby gem created in Learn ENough Ruby to Be Dangerous by Michael Hartl.
3
+ `ilyass_palindrome` is a sample Ruby gem created in Learn Enough Ruby to Be Dangerous by Michael Hartl.
4
4
 
5
5
  ## Installation
6
6
 
7
7
  To install `ilyass_palindrome`, add this line to your application's `Gemfile`:
8
8
 
9
9
  ```bash
10
- bundle add UPDATE_WITH_YOUR_GEM_NAME_IMMEDIATELY_AFTER_RELEASE_TO_RUBYGEMS_ORG
10
+ bundle add ilyass_palindrome
11
11
  ```
12
12
 
13
13
  If bundler is not being used to manage dependencies, install the gem by executing:
@@ -27,14 +27,9 @@ gem install ilyass_palindrome
27
27
  ```
28
28
  ## Usage
29
29
 
30
- First add the module to the `String` and `Integer` classes, e.g:
30
+ First require the module in you ruby app:
31
31
  ```ruby
32
- class String
33
- include Palindrome
34
- end
35
- class Integer
36
- include Palindrome
37
- end
32
+ require 'ilyass_palindrome'
38
33
  ```
39
34
  Now you can use the `palindrome?` method directly on string and integer literals, e.g:
40
35
  ```ruby
@@ -42,6 +37,8 @@ Now you can use the `palindrome?` method directly on string and integer literals
42
37
  => true
43
38
  12321.palindrome?
44
39
  => true
40
+ " ".palindrome?
41
+ => false
45
42
  ```
46
43
 
47
44
  ## Development
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module IlyassPalindrome
4
- VERSION = "0.1.0"
4
+ VERSION = "1.1.0"
5
5
  end
@@ -2,20 +2,28 @@
2
2
 
3
3
  require_relative "ilyass_palindrome/version"
4
4
 
5
- class String
5
+ module IlyassPalindrome
6
6
  # Returns true for a palinfrome, false otherwise.
7
7
  def palindrome?
8
- processed_content == processed_content.reverse
8
+ if processed_content.empty?
9
+ false
10
+ else
11
+ processed_content == processed_content.reverse
12
+ end
9
13
  end
10
14
 
11
15
  private
12
16
 
13
17
  # Returns content for palindrome testing
14
18
  def processed_content
15
- self.scan(/[a-z]/i).join.downcase
19
+ self.to_s.scan(/[a-z0-9]/i).join.downcase
16
20
  end
17
21
  end
18
- # module IlyassPalindrome
19
- # class Error < StandardError; end
20
- # # Your code goes here...
21
- # end
22
+
23
+ class String
24
+ include IlyassPalindrome
25
+ end
26
+
27
+ class Integer
28
+ include IlyassPalindrome
29
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ilyass_palindrome
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ILyass-Lr
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-04-27 00:00:00.000000000 Z
11
+ date: 2025-04-28 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Learn Enough Ruby palindrome detector
14
14
  email: