sqids 0.1.1 → 0.1.2

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: e6375d093506a2d4058cecce28ee9f4e00148e7bde606bb4d64e613cbfb698d8
4
- data.tar.gz: c5eb151f25ba5156995c4f7ab9fdf064d931ae619524ddae73cbe420b9ec3c48
3
+ metadata.gz: 8c79695a1c507e1785e6c454fed0e0f4bca689598608d5b680b019493dfe9406
4
+ data.tar.gz: 9c64e11d7b0a8c551caf8b24d73fd01cb0aaf8ade971a4b6d535f120e1be8d9a
5
5
  SHA512:
6
- metadata.gz: 3f92140fe71c4f38875cd66485188b303d46ba3114af2467386256bfa4e8e5bad8f6fff0a0d4f8b478a1ec7bfd2160689c63da46a4d7c9364300383ad43a1894
7
- data.tar.gz: 50b51f34611e1d1465fc58cf1f97d406bf4768d7208a77cc2829e55b686806f3189834291dbc12b87774a3852dd41b55c0e994e51909d917fe5002a8adbcbd63
6
+ metadata.gz: 9992329b56a99da95e7ee85e1b928407d7cbb40f5312cbc18a0f17ed95b0ba51b175088dc84db69d894bfa0814d587f5cdbe327c7a6a1d56c89eb004c68a83ae
7
+ data.tar.gz: 00d797e9d692a9c4ad82f80971649d2e4553d317c78b72e258ae497fa94521246205e56873971685b42d9b4ee7d8507d71bdf4c05fd80eab9735f58176adf230
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # CHANGELOG
2
2
 
3
+ **v0.1.2:**
4
+ - Bug fix: spec update (PR #7): blocklist filtering in uppercase-only alphabet [[PR #7](https://github.com/sqids/sqids-spec/pull/7)]
5
+ - Lower uniques test from 1_000_000 to 10_000
6
+
3
7
  **v0.1.1:**
4
8
  - Lowering Ruby version requirement to 3.0
5
9
 
data/lib/sqids.rb CHANGED
@@ -28,7 +28,7 @@ class Sqids
28
28
  end
29
29
 
30
30
  filtered_blocklist = blocklist.select do |word|
31
- word.length >= 3 && (word.chars - alphabet.chars).empty?
31
+ word.length >= 3 && (word.downcase.chars - alphabet.downcase.chars).empty?
32
32
  end.to_set(&:downcase)
33
33
 
34
34
  @alphabet = shuffle(alphabet)
@@ -52,4 +52,15 @@ describe Sqids do
52
52
 
53
53
  expect(sqids.decode(sqids.encode([1_000]))).to eq([1_000])
54
54
  end
55
+
56
+ it 'blocklist filtering in constructor' do
57
+ # lowercase blocklist in only-uppercase alphabet
58
+ sqids = Sqids.new(alphabet: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', blocklist: Set.new(['sqnmpn']))
59
+
60
+ id = sqids.encode([1, 2, 3])
61
+ numbers = sqids.decode(id)
62
+
63
+ expect(id).to eq('ULPBZGBM') # without blocklist, would've been "SQNMPN"
64
+ expect(numbers).to eq([1, 2, 3])
65
+ end
55
66
  end
data/spec/uniques_spec.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  require 'rspec'
4
4
  require_relative '../lib/sqids'
5
5
 
6
- upper = 1_000_000
6
+ upper = 10_000
7
7
 
8
8
  describe Sqids do
9
9
  let(:sqids) { Sqids.new(min_length: Sqids::DEFAULT_ALPHABET.length) }
data/sqids.gemspec CHANGED
@@ -7,7 +7,7 @@ require 'sqids'
7
7
 
8
8
  Gem::Specification.new do |gem|
9
9
  gem.name = 'sqids'
10
- gem.version = '0.1.1'
10
+ gem.version = '0.1.2'
11
11
  gem.authors = ['Sqids Maintainers']
12
12
  gem.summary = 'Generate YouTube-like ids from numbers.'
13
13
  gem.homepage = 'https://sqids.org/ruby'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sqids
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sqids Maintainers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-23 00:00:00.000000000 Z
11
+ date: 2023-08-31 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: