opaque_id 1.3.0 → 1.4.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: 0b3fe09fbe6c8dd3f161f8067f1f4159b20d66987d4f83a1649bfebfe2d68af1
4
- data.tar.gz: 3887547bac4c747e9c95b3ff1bbe456ea001d4e0a2432a2186d7a1343f3a40aa
3
+ metadata.gz: 9c8c508626e3cd753337a4a0ca5a6a7eecdce926bd0532f709bbbb19b2626975
4
+ data.tar.gz: cee4cdec34b43245b1abb4f35924498c034c9060648f9500705132a9e8742cb1
5
5
  SHA512:
6
- metadata.gz: d3a0326565ef4d064bc651805c9126d313d22cfffbc26fb10ce5f38a9be794a3d67611838465d74eb59e27313bf8a2db1f1669055b79410e9c4c1cbfd6697a1b
7
- data.tar.gz: afe1a2e68f187435cd3efe01871f926b191335bf3bf19958afe66c6e8e873321809e17eb699ff3f6d58cb6175d3296288abdaaa5d8c2b9ccc0ab87cff8c99fe9
6
+ metadata.gz: 72d0b70b4f3285b14e9522adf8682691c59d82db7457c468ceed724b4c381da8d297921cc891eeda749333f4f81f1170b69b33587e7ef8a0485f948492dea40a
7
+ data.tar.gz: 71f986687e83368d0a34ae4ce692a526a17c17c55ef3e77edd462e7f0ae9503c5dd943417bc4166e0a8f775eea897b2c93a06dedddf9fc267f5680af869acbab
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "1.3.0"
2
+ ".": "1.4.0"
3
3
  }
data/CHANGELOG.md CHANGED
@@ -5,6 +5,26 @@ All notable changes to the OpaqueId gem 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
+ ## [1.4.0](https://github.com/nyaggah/opaque_id/compare/opaque_id/v1.3.0...opaque_id/v1.4.0) (2025-10-02)
9
+
10
+
11
+ ### Features
12
+
13
+ * add external links to sidebar using JavaScript ([cd77079](https://github.com/nyaggah/opaque_id/commit/cd770795936ca76633a18f80cba8482ec09db8e2))
14
+ * add Table of Contents to all documentation pages ([9472175](https://github.com/nyaggah/opaque_id/commit/94721752270211d5b7db460da61d79a8a81218b2))
15
+ * complete Table of Contents implementation ([5b037e4](https://github.com/nyaggah/opaque_id/commit/5b037e42692803204bc4d8991b6d2e0c9639a05c))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * correct aux_links configuration format ([61b3fb9](https://github.com/nyaggah/opaque_id/commit/61b3fb9441ce3cfc3cf30637c277d19135f89dab))
21
+ * use correct aux_links format ([d4a4bc0](https://github.com/nyaggah/opaque_id/commit/d4a4bc0c11bc66b661034915b471ed762611d821))
22
+
23
+
24
+ ### Code Refactoring
25
+
26
+ * simplify external links implementation ([5cb84c1](https://github.com/nyaggah/opaque_id/commit/5cb84c1e8952a0fd1aa4b9089b9ff11829dc397c))
27
+
8
28
  ## [1.3.0](https://github.com/nyaggah/opaque_id/compare/opaque_id/v1.2.0...opaque_id/v1.3.0) (2025-10-02)
9
29
 
10
30
 
data/docs/_config.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  # Site settings
2
- title: OpaqueId Documentation
2
+ title: OpaqueId
3
3
  description: Generate cryptographically secure, collision-free opaque IDs for ActiveRecord models
4
4
  url: "https://nyaggah.github.io"
5
5
  baseurl: "/opaque_id"
@@ -104,23 +104,12 @@ nav_external_links_new_tab: true
104
104
  nav_footer: true
105
105
  nav_order: 1
106
106
 
107
- # Header and footer
108
- header_links:
109
- - title: "GitHub"
110
- url: "https://github.com/nyaggah/opaque_id"
111
- - title: "RubyGems"
112
- url: "https://rubygems.org/gems/opaque_id"
113
-
114
- # Auxiliary links (moved to sidebar top)
107
+ # Auxiliary links (appear at top right)
115
108
  aux_links:
116
- - title: "GitHub"
117
- url: "https://github.com/nyaggah/opaque_id"
118
- - title: "RubyGems"
119
- url: "https://rubygems.org/gems/opaque_id"
120
- - title: "Issues"
121
- url: "https://github.com/nyaggah/opaque_id/issues"
122
- - title: "Releases"
123
- url: "https://github.com/nyaggah/opaque_id/releases"
109
+ GitHub: https://github.com/nyaggah/opaque_id
110
+ RubyGems: https://rubygems.org/gems/opaque_id
111
+ Issues: https://github.com/nyaggah/opaque_id/issues
112
+ Releases: https://github.com/nyaggah/opaque_id/releases
124
113
 
125
114
  # Color scheme - use system theme with light fallback
126
115
  color_scheme: light
data/docs/algorithms.md CHANGED
@@ -10,6 +10,9 @@ permalink: /algorithms/
10
10
 
11
11
  OpaqueId uses sophisticated algorithms to generate cryptographically secure, collision-free opaque IDs. This guide explains the technical details behind the generation process, optimization strategies, and mathematical foundations.
12
12
 
13
+ - TOC
14
+ {:toc}
15
+
13
16
  ## Overview
14
17
 
15
18
  OpaqueId implements two primary algorithms optimized for different scenarios:
data/docs/alphabets.md CHANGED
@@ -10,6 +10,9 @@ permalink: /alphabets/
10
10
 
11
11
  OpaqueId provides flexible alphabet configuration for generating IDs with different character sets. This guide covers built-in alphabets, custom alphabet creation, and best practices for alphabet selection.
12
12
 
13
+ - TOC
14
+ {:toc}
15
+
13
16
  ## Built-in Alphabets
14
17
 
15
18
  OpaqueId comes with two pre-configured alphabets optimized for different use cases.
@@ -10,6 +10,9 @@ permalink: /api-reference/
10
10
 
11
11
  This document provides complete API documentation for OpaqueId, including all methods, classes, and configuration options.
12
12
 
13
+ - TOC
14
+ {:toc}
15
+
13
16
  ## Core Module: OpaqueId
14
17
 
15
18
  The main module for generating opaque IDs.
@@ -292,59 +292,12 @@ table {
292
292
  color: var(--nav-child-link-color);
293
293
  }
294
294
 
295
- // Auxiliary links styling (top of sidebar)
296
- .aux-nav {
297
- margin-bottom: 1.5rem;
298
- padding-bottom: 1rem;
299
- border-bottom: 1px solid var(--border-color-light);
300
-
301
- .aux-nav-list {
302
- list-style: none;
303
- margin: 0;
304
- padding: 0;
305
- display: flex;
306
- flex-wrap: wrap;
307
- gap: 0.5rem;
308
-
309
- .aux-nav-list-item {
310
- margin: 0;
311
-
312
- .aux-nav-list-link {
313
- display: inline-flex;
314
- align-items: center;
315
- padding: 0.375rem 0.75rem;
316
- font-size: 0.875rem;
317
- font-weight: 500;
318
- color: var(--aux-link-color);
319
- text-decoration: none;
320
- border: 1px solid var(--border-color);
321
- border-radius: 6px;
322
- background-color: transparent;
323
- transition: all 0.2s ease;
324
-
325
- &:hover {
326
- color: var(--aux-link-hover-color);
327
- border-color: var(--aux-link-hover-color);
328
- background-color: rgba(168, 85, 247, 0.05);
329
- text-decoration: none;
330
- }
331
-
332
- &:focus {
333
- outline: 2px solid var(--aux-link-hover-color);
334
- outline-offset: 2px;
335
- }
336
-
337
- // External link icon
338
- &[href^="http"]:not([href*="nyaggah.github.io"]) {
339
- &::after {
340
- content: "↗";
341
- margin-left: 0.25rem;
342
- font-size: 0.75rem;
343
- opacity: 0.7;
344
- }
345
- }
346
- }
347
- }
295
+ // Simple external links styling
296
+ .nav-list .nav-list-item .nav-list-link[href^="http"] {
297
+ color: var(--link-color);
298
+
299
+ &:hover {
300
+ color: var(--link-color-hover);
348
301
  }
349
302
  }
350
303
 
@@ -10,6 +10,9 @@ permalink: /configuration/
10
10
 
11
11
  OpaqueId provides extensive configuration options to customize ID generation for your specific needs. This guide covers all available configuration options with practical examples.
12
12
 
13
+ - TOC
14
+ {:toc}
15
+
13
16
  ## Model-Level Configuration
14
17
 
15
18
  Configure OpaqueId on a per-model basis using class-level settings.
data/docs/development.md CHANGED
@@ -10,6 +10,9 @@ permalink: /development/
10
10
 
11
11
  This guide covers development setup, guidelines, and contribution information for OpaqueId. Whether you're contributing to the project or developing applications that use OpaqueId, this guide will help you get started.
12
12
 
13
+ - TOC
14
+ {:toc}
15
+
13
16
  ## Prerequisites
14
17
 
15
18
  Before you begin development, ensure you have the following installed:
@@ -10,6 +10,9 @@ permalink: /getting-started/
10
10
 
11
11
  This guide will help you get up and running with OpaqueId in your Rails application. We'll cover installation, basic setup, and common usage patterns.
12
12
 
13
+ - TOC
14
+ {:toc}
15
+
13
16
  ## Prerequisites
14
17
 
15
18
  Before you begin, ensure you have:
data/docs/index.md CHANGED
@@ -14,6 +14,9 @@ permalink: /
14
14
 
15
15
  A Ruby gem for generating cryptographically secure, collision-free opaque IDs for ActiveRecord models. OpaqueId provides a drop-in replacement for `nanoid.rb` using Ruby's built-in `SecureRandom` methods with optimized algorithms for unbiased distribution.
16
16
 
17
+ - TOC
18
+ {:toc}
19
+
17
20
  ## Features
18
21
 
19
22
  - **🔐 Cryptographically Secure**: Uses Ruby's `SecureRandom` for secure ID generation
data/docs/installation.md CHANGED
@@ -10,6 +10,9 @@ permalink: /installation/
10
10
 
11
11
  This guide covers all installation methods for OpaqueId, from basic setup to advanced configurations.
12
12
 
13
+ - TOC
14
+ {:toc}
15
+
13
16
  ## Requirements
14
17
 
15
18
  Before installing OpaqueId, ensure your environment meets these requirements:
data/docs/performance.md CHANGED
@@ -10,6 +10,9 @@ permalink: /performance/
10
10
 
11
11
  OpaqueId is designed for high performance with optimized algorithms and efficient memory usage. This guide covers benchmarks, optimization strategies, and scalability considerations.
12
12
 
13
+ - TOC
14
+ {:toc}
15
+
13
16
  ## Performance Characteristics
14
17
 
15
18
  ### Generation Speed
data/docs/security.md CHANGED
@@ -10,6 +10,9 @@ permalink: /security/
10
10
 
11
11
  OpaqueId is designed with security as a primary concern, providing cryptographically secure ID generation with protection against various attack vectors. This guide covers security considerations, best practices, and threat model analysis.
12
12
 
13
+ - TOC
14
+ {:toc}
15
+
13
16
  ## Cryptographic Security
14
17
 
15
18
  ### SecureRandom Foundation
data/docs/usage.md CHANGED
@@ -10,6 +10,9 @@ permalink: /usage/
10
10
 
11
11
  This guide covers all usage patterns for OpaqueId, from basic standalone generation to advanced ActiveRecord integration.
12
12
 
13
+ - TOC
14
+ {:toc}
15
+
13
16
  ## Standalone ID Generation
14
17
 
15
18
  OpaqueId can be used independently of ActiveRecord for generating secure, random IDs.
data/docs/use-cases.md CHANGED
@@ -10,6 +10,9 @@ permalink: /use-cases/
10
10
 
11
11
  OpaqueId is designed for a wide range of applications where secure, unpredictable identifiers are needed. This guide covers real-world use cases with practical examples and implementation patterns.
12
12
 
13
+ - TOC
14
+ {:toc}
15
+
13
16
  ## E-Commerce Applications
14
17
 
15
18
  ### Order Management
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OpaqueId
4
- VERSION = '1.3.0'
4
+ VERSION = '1.4.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opaque_id
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joe Nyaggah