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 +4 -4
- data/.release-please-manifest.json +1 -1
- data/CHANGELOG.md +20 -0
- data/docs/_config.yml +6 -17
- data/docs/algorithms.md +3 -0
- data/docs/alphabets.md +3 -0
- data/docs/api-reference.md +3 -0
- data/docs/assets/css/custom.scss +6 -53
- data/docs/configuration.md +3 -0
- data/docs/development.md +3 -0
- data/docs/getting-started.md +3 -0
- data/docs/index.md +3 -0
- data/docs/installation.md +3 -0
- data/docs/performance.md +3 -0
- data/docs/security.md +3 -0
- data/docs/usage.md +3 -0
- data/docs/use-cases.md +3 -0
- data/lib/opaque_id/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c8c508626e3cd753337a4a0ca5a6a7eecdce926bd0532f709bbbb19b2626975
|
4
|
+
data.tar.gz: cee4cdec34b43245b1abb4f35924498c034c9060648f9500705132a9e8742cb1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 72d0b70b4f3285b14e9522adf8682691c59d82db7457c468ceed724b4c381da8d297921cc891eeda749333f4f81f1170b69b33587e7ef8a0485f948492dea40a
|
7
|
+
data.tar.gz: 71f986687e83368d0a34ae4ce692a526a17c17c55ef3e77edd462e7f0ae9503c5dd943417bc4166e0a8f775eea897b2c93a06dedddf9fc267f5680af869acbab
|
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
|
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
|
-
#
|
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
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
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.
|
data/docs/api-reference.md
CHANGED
data/docs/assets/css/custom.scss
CHANGED
@@ -292,59 +292,12 @@ table {
|
|
292
292
|
color: var(--nav-child-link-color);
|
293
293
|
}
|
294
294
|
|
295
|
-
//
|
296
|
-
.
|
297
|
-
|
298
|
-
|
299
|
-
|
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
|
|
data/docs/configuration.md
CHANGED
@@ -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:
|
data/docs/getting-started.md
CHANGED
@@ -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
|
data/lib/opaque_id/version.rb
CHANGED