ruby-ulid 0.1.5 → 0.2.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 +4 -4
- data/README.md +9 -8
- data/lib/ruby-ulid.rb +6 -0
- data/lib/ulid/version.rb +1 -1
- data/lib/ulid.rb +19 -14
- data/sig/ulid.rbs +15 -16
- metadata +11 -283
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cea320f797b834d5a0f246db9920a9453a6d229728b428590e2f99dd275c8fe9
|
4
|
+
data.tar.gz: e703ca1896a7ee4155b1362cffdfaf9499e4ae32073cd440c50750d4e9cc9c1a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9d0436d98095dd0084675d87a6605848f6c7ee14d65724ce5bd9229945ffc17a3b7e1efaf9a295baeaeac11782c9fc63bc901149cfa58d96046e334d5d19067
|
7
|
+
data.tar.gz: f7e016a4ca3d859f8469b5281d9f5581ffe6c0fdde737c554c627f7862461701844e46e4513ce09748e1cdf3fa4b8da2607a8d3267f74c64ae4a257ae54d6e78
|
data/README.md
CHANGED
@@ -10,8 +10,9 @@ Also providing [ruby/rbs](https://github.com/ruby/rbs) signature files.
|
|
10
10
|
|
11
11
|

|
12
12
|
|
13
|
-

|
14
|
-
[](https://github.com/kachick/ruby-ulid/actions/workflows/test_behaviors.yml/?branch=main)
|
14
|
+
[](http://badge.fury.io/rb/ruby-ulid)
|
15
|
+
[](https://github.dev/kachick/ruby-ulid)
|
15
16
|
|
16
17
|
## Universally Unique Lexicographically Sortable Identifier
|
17
18
|
|
@@ -37,7 +38,7 @@ Instead, herein is proposed ULID:
|
|
37
38
|
|
38
39
|
### Install
|
39
40
|
|
40
|
-
Require Ruby 2.
|
41
|
+
Require Ruby 2.7 or later
|
41
42
|
|
42
43
|
This command will install the latest version into your environment
|
43
44
|
|
@@ -49,7 +50,7 @@ Should be installed!
|
|
49
50
|
Add this line to your application/library's `Gemfile` is needed in basic use-case
|
50
51
|
|
51
52
|
```ruby
|
52
|
-
gem 'ruby-ulid', '
|
53
|
+
gem 'ruby-ulid', '~> 0.2.2'
|
53
54
|
```
|
54
55
|
|
55
56
|
### Generator and Parser
|
@@ -170,8 +171,7 @@ exclude_end = ULID.range(time1...time2) #=> The end of `Range[ULID]` will be the
|
|
170
171
|
|
171
172
|
# Below patterns are acceptable
|
172
173
|
pinpointing = ULID.range(time1..time1) #=> This will match only for all IDs in `time1`
|
173
|
-
|
174
|
-
until_the_end = ULID.range(ULID.min.to_time..time1) #=> This is same as above for Ruby 2.6
|
174
|
+
until_the_end = ULID.range(..time1) #=> This will match only for all IDs upto `time1`
|
175
175
|
until_the_ulid_limit = ULID.range(time1..) # This will match only for all IDs from `time1` to max value of the ULID limit
|
176
176
|
|
177
177
|
# So you can use the generated range objects as below
|
@@ -401,7 +401,7 @@ So you can replace the code as below
|
|
401
401
|
+ULID.generate.to_s
|
402
402
|
```
|
403
403
|
|
404
|
-
NOTE:
|
404
|
+
NOTE: In version before `1.3.0`, timestamps might not be correct value.
|
405
405
|
|
406
406
|
1. [Sort order does not respect millisecond ordering](https://github.com/rafaelsales/ulid/issues/22)
|
407
407
|
1. [Fixed in this PR](https://github.com/rafaelsales/ulid/pull/23)
|
@@ -425,11 +425,12 @@ Major methods can be replaced as below.
|
|
425
425
|
+ULID.max(time).to_s
|
426
426
|
```
|
427
427
|
|
428
|
-
NOTE:
|
428
|
+
NOTE: In version before `1.0.2`, timestamps might not be correct value.
|
429
429
|
|
430
430
|
1. [Parsed time object has more than milliseconds](https://github.com/abachman/ulid-ruby/issues/3)
|
431
431
|
1. [Fix to handle timestamp precision in parser](https://github.com/abachman/ulid-ruby/pull/5)
|
432
432
|
1. [Fix to handle timestamp precision in generator](https://github.com/abachman/ulid-ruby/pull/4)
|
433
|
+
1. [Released in 1.0.2](https://github.com/abachman/ulid-ruby/compare/v1.0.0...v1.0.2)
|
433
434
|
|
434
435
|
### Compare performance with them
|
435
436
|
|
data/lib/ruby-ulid.rb
ADDED
data/lib/ulid/version.rb
CHANGED
data/lib/ulid.rb
CHANGED
@@ -208,11 +208,7 @@ class ULID
|
|
208
208
|
def self.floor(time)
|
209
209
|
raise ArgumentError, 'ULID.floor takes only `Time` instance' unless Time === time
|
210
210
|
|
211
|
-
|
212
|
-
time.floor(3)
|
213
|
-
else
|
214
|
-
Time.at(0, milliseconds_from_time(time), :millisecond)
|
215
|
-
end
|
211
|
+
time.floor(3)
|
216
212
|
end
|
217
213
|
|
218
214
|
# @api private
|
@@ -312,8 +308,19 @@ class ULID
|
|
312
308
|
private_class_method def self.safe_get_class_name(object)
|
313
309
|
fallback = 'UnknownObject'
|
314
310
|
|
311
|
+
# This class getter implementation used https://github.com/rspec/rspec-support/blob/4ad8392d0787a66f9c351d9cf6c7618e18b3d0f2/lib/rspec/support.rb#L83-L89 as a reference, thank you!
|
312
|
+
# ref: https://twitter.com/_kachick/status/1400064896759304196
|
313
|
+
klass = (
|
314
|
+
begin
|
315
|
+
object.class
|
316
|
+
rescue NoMethodError
|
317
|
+
singleton_class = class << object; self; end
|
318
|
+
singleton_class.ancestors.detect { |ancestor| !ancestor.equal?(singleton_class) }
|
319
|
+
end
|
320
|
+
)
|
321
|
+
|
315
322
|
begin
|
316
|
-
name = String.try_convert(
|
323
|
+
name = String.try_convert(klass.name)
|
317
324
|
rescue Exception
|
318
325
|
fallback
|
319
326
|
else
|
@@ -363,7 +370,11 @@ class ULID
|
|
363
370
|
def to_i
|
364
371
|
@integer
|
365
372
|
end
|
366
|
-
|
373
|
+
|
374
|
+
# @return [Integer]
|
375
|
+
def hash
|
376
|
+
[ULID, @integer].hash
|
377
|
+
end
|
367
378
|
|
368
379
|
# @return [Integer, nil]
|
369
380
|
def <=>(other)
|
@@ -395,13 +406,7 @@ class ULID
|
|
395
406
|
|
396
407
|
# @return [Time]
|
397
408
|
def to_time
|
398
|
-
@time ||=
|
399
|
-
if RUBY_VERSION >= '2.7'
|
400
|
-
Time.at(0, @milliseconds, :millisecond, in: 'UTC').freeze
|
401
|
-
else
|
402
|
-
Time.at(0, @milliseconds, :millisecond).utc.freeze
|
403
|
-
end
|
404
|
-
end
|
409
|
+
@time ||= Time.at(0, @milliseconds, :millisecond, in: 'UTC').freeze
|
405
410
|
end
|
406
411
|
|
407
412
|
# @return [Array(Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer, Integer)]
|
data/sig/ulid.rbs
CHANGED
@@ -46,13 +46,13 @@ class ULID < Object
|
|
46
46
|
STANDARD_BY_VARIANT: Hash[String, String]
|
47
47
|
VARIANT_PATTERN: Regexp
|
48
48
|
|
49
|
-
# A
|
49
|
+
# A private API. Should not be used in your code.
|
50
50
|
def self.encode: (Integer integer) -> String
|
51
51
|
|
52
|
-
# A
|
52
|
+
# A private API. Should not be used in your code.
|
53
53
|
def self.decode: (String string) -> Integer
|
54
54
|
|
55
|
-
# A
|
55
|
+
# A private API. Should not be used in your code.
|
56
56
|
def self.normalize: (String string) -> String
|
57
57
|
end
|
58
58
|
|
@@ -71,7 +71,7 @@ class ULID < Object
|
|
71
71
|
# ```
|
72
72
|
attr_reader prev: ULID | nil
|
73
73
|
|
74
|
-
# A
|
74
|
+
# A private API. Should not be used in your code.
|
75
75
|
def initialize: -> void
|
76
76
|
|
77
77
|
# See [How to keep `Sortable` even if in same timestamp](https://github.com/kachick/ruby-ulid#how-to-keep-sortable-even-if-in-same-timestamp)
|
@@ -159,10 +159,10 @@ class ULID < Object
|
|
159
159
|
# ```
|
160
160
|
def self.at: (Time time) -> ULID
|
161
161
|
|
162
|
-
# A
|
162
|
+
# A private API. Should not be used in your code.
|
163
163
|
def self.current_milliseconds: -> Integer
|
164
164
|
|
165
|
-
# A
|
165
|
+
# A private API. Should not be used in your code.
|
166
166
|
def self.milliseconds_from_moment: (moment moment) -> Integer
|
167
167
|
|
168
168
|
# `ULID` can be element of the `Range`. If you generated the IDs in monotonic generator, ID based filtering is easy and reliable
|
@@ -185,8 +185,7 @@ class ULID < Object
|
|
185
185
|
#
|
186
186
|
# # Below patterns are acceptable
|
187
187
|
# pinpointing = ULID.range(time1..time1) #=> This will match only for all IDs in `time1`
|
188
|
-
# until_the_end = ULID.range(..time1) #=> This will match only for all IDs upto `time1`
|
189
|
-
# until_the_end = ULID.range(ULID.min.to_time..time1) #=> This is same as above for Ruby 2.6
|
188
|
+
# until_the_end = ULID.range(..time1) #=> This will match only for all IDs upto `time1`
|
190
189
|
# until_the_ulid_limit = ULID.range(time1..) # This will match only for all IDs from `time1` to max value of the ULID limit
|
191
190
|
#
|
192
191
|
# # So you can use the generated range objects as below
|
@@ -507,10 +506,10 @@ class ULID < Object
|
|
507
506
|
def pred: -> ULID?
|
508
507
|
def freeze: -> self
|
509
508
|
|
510
|
-
# A
|
509
|
+
# A private API. Should not be used in your code.
|
511
510
|
def marshal_dump: -> Integer
|
512
511
|
|
513
|
-
# A
|
512
|
+
# A private API. Should not be used in your code.
|
514
513
|
def marshal_load: (Integer integer) -> void
|
515
514
|
|
516
515
|
# Returns `self`
|
@@ -525,21 +524,21 @@ class ULID < Object
|
|
525
524
|
|
526
525
|
private
|
527
526
|
|
528
|
-
# A
|
527
|
+
# A private API. Should not be used in your code.
|
529
528
|
def self.new: (milliseconds: Integer, entropy: Integer, integer: Integer) -> self
|
530
529
|
|
531
|
-
# A
|
530
|
+
# A private API. Should not be used in your code.
|
532
531
|
def self.reasonable_entropy: -> Integer
|
533
532
|
|
534
|
-
# A
|
533
|
+
# A private API. Should not be used in your code.
|
535
534
|
def self.milliseconds_from_time: (Time time) -> Integer
|
536
535
|
|
537
|
-
# A
|
536
|
+
# A private API. Should not be used in your code.
|
538
537
|
def self.safe_get_class_name: (untyped object) -> String
|
539
538
|
|
540
|
-
# A
|
539
|
+
# A private API. Should not be used in your code.
|
541
540
|
def initialize: (milliseconds: Integer, entropy: Integer, integer: Integer) -> void
|
542
541
|
|
543
|
-
# A
|
542
|
+
# A private API. Should not be used in your code.
|
544
543
|
def cache_all_instance_variables: -> void
|
545
544
|
end
|
metadata
CHANGED
@@ -1,289 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-ulid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kenichi Kamiya
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: test-unit
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 3.4.1
|
20
|
-
- - "<"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '4.0'
|
23
|
-
type: :development
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
requirements:
|
27
|
-
- - ">="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 3.4.1
|
30
|
-
- - "<"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '4.0'
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: irb
|
35
|
-
requirement: !ruby/object:Gem::Requirement
|
36
|
-
requirements:
|
37
|
-
- - ">="
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: 1.3.5
|
40
|
-
- - "<"
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: '2.0'
|
43
|
-
type: :development
|
44
|
-
prerelease: false
|
45
|
-
version_requirements: !ruby/object:Gem::Requirement
|
46
|
-
requirements:
|
47
|
-
- - ">="
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: 1.3.5
|
50
|
-
- - "<"
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: '2.0'
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
name: irb-power_assert
|
55
|
-
requirement: !ruby/object:Gem::Requirement
|
56
|
-
requirements:
|
57
|
-
- - '='
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
version: 0.0.2
|
60
|
-
type: :development
|
61
|
-
prerelease: false
|
62
|
-
version_requirements: !ruby/object:Gem::Requirement
|
63
|
-
requirements:
|
64
|
-
- - '='
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: 0.0.2
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: warning
|
69
|
-
requirement: !ruby/object:Gem::Requirement
|
70
|
-
requirements:
|
71
|
-
- - ">="
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: 1.2.0
|
74
|
-
- - "<"
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: '2.0'
|
77
|
-
type: :development
|
78
|
-
prerelease: false
|
79
|
-
version_requirements: !ruby/object:Gem::Requirement
|
80
|
-
requirements:
|
81
|
-
- - ">="
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version: 1.2.0
|
84
|
-
- - "<"
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
version: '2.0'
|
87
|
-
- !ruby/object:Gem::Dependency
|
88
|
-
name: rbs
|
89
|
-
requirement: !ruby/object:Gem::Requirement
|
90
|
-
requirements:
|
91
|
-
- - ">="
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: 1.2.0
|
94
|
-
- - "<"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '2.0'
|
97
|
-
type: :development
|
98
|
-
prerelease: false
|
99
|
-
version_requirements: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: 1.2.0
|
104
|
-
- - "<"
|
105
|
-
- !ruby/object:Gem::Version
|
106
|
-
version: '2.0'
|
107
|
-
- !ruby/object:Gem::Dependency
|
108
|
-
name: rake
|
109
|
-
requirement: !ruby/object:Gem::Requirement
|
110
|
-
requirements:
|
111
|
-
- - ">="
|
112
|
-
- !ruby/object:Gem::Version
|
113
|
-
version: 13.0.3
|
114
|
-
- - "<"
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: '20.0'
|
117
|
-
type: :development
|
118
|
-
prerelease: false
|
119
|
-
version_requirements: !ruby/object:Gem::Requirement
|
120
|
-
requirements:
|
121
|
-
- - ">="
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
version: 13.0.3
|
124
|
-
- - "<"
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
version: '20.0'
|
127
|
-
- !ruby/object:Gem::Dependency
|
128
|
-
name: benchmark-ips
|
129
|
-
requirement: !ruby/object:Gem::Requirement
|
130
|
-
requirements:
|
131
|
-
- - ">="
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version: 2.9.1
|
134
|
-
- - "<"
|
135
|
-
- !ruby/object:Gem::Version
|
136
|
-
version: '3'
|
137
|
-
type: :development
|
138
|
-
prerelease: false
|
139
|
-
version_requirements: !ruby/object:Gem::Requirement
|
140
|
-
requirements:
|
141
|
-
- - ">="
|
142
|
-
- !ruby/object:Gem::Version
|
143
|
-
version: 2.9.1
|
144
|
-
- - "<"
|
145
|
-
- !ruby/object:Gem::Version
|
146
|
-
version: '3'
|
147
|
-
- !ruby/object:Gem::Dependency
|
148
|
-
name: yard
|
149
|
-
requirement: !ruby/object:Gem::Requirement
|
150
|
-
requirements:
|
151
|
-
- - ">="
|
152
|
-
- !ruby/object:Gem::Version
|
153
|
-
version: 0.9.26
|
154
|
-
- - "<"
|
155
|
-
- !ruby/object:Gem::Version
|
156
|
-
version: '2'
|
157
|
-
type: :development
|
158
|
-
prerelease: false
|
159
|
-
version_requirements: !ruby/object:Gem::Requirement
|
160
|
-
requirements:
|
161
|
-
- - ">="
|
162
|
-
- !ruby/object:Gem::Version
|
163
|
-
version: 0.9.26
|
164
|
-
- - "<"
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '2'
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: steep
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - ">="
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: 0.44.1
|
174
|
-
- - "<"
|
175
|
-
- !ruby/object:Gem::Version
|
176
|
-
version: 0.50.0
|
177
|
-
type: :development
|
178
|
-
prerelease: false
|
179
|
-
version_requirements: !ruby/object:Gem::Requirement
|
180
|
-
requirements:
|
181
|
-
- - ">="
|
182
|
-
- !ruby/object:Gem::Version
|
183
|
-
version: 0.44.1
|
184
|
-
- - "<"
|
185
|
-
- !ruby/object:Gem::Version
|
186
|
-
version: 0.50.0
|
187
|
-
- !ruby/object:Gem::Dependency
|
188
|
-
name: rubocop
|
189
|
-
requirement: !ruby/object:Gem::Requirement
|
190
|
-
requirements:
|
191
|
-
- - ">="
|
192
|
-
- !ruby/object:Gem::Version
|
193
|
-
version: 1.15.0
|
194
|
-
- - "<"
|
195
|
-
- !ruby/object:Gem::Version
|
196
|
-
version: 1.16.0
|
197
|
-
type: :development
|
198
|
-
prerelease: false
|
199
|
-
version_requirements: !ruby/object:Gem::Requirement
|
200
|
-
requirements:
|
201
|
-
- - ">="
|
202
|
-
- !ruby/object:Gem::Version
|
203
|
-
version: 1.15.0
|
204
|
-
- - "<"
|
205
|
-
- !ruby/object:Gem::Version
|
206
|
-
version: 1.16.0
|
207
|
-
- !ruby/object:Gem::Dependency
|
208
|
-
name: rubocop-rake
|
209
|
-
requirement: !ruby/object:Gem::Requirement
|
210
|
-
requirements:
|
211
|
-
- - ">="
|
212
|
-
- !ruby/object:Gem::Version
|
213
|
-
version: 0.5.1
|
214
|
-
- - "<"
|
215
|
-
- !ruby/object:Gem::Version
|
216
|
-
version: 0.6.0
|
217
|
-
type: :development
|
218
|
-
prerelease: false
|
219
|
-
version_requirements: !ruby/object:Gem::Requirement
|
220
|
-
requirements:
|
221
|
-
- - ">="
|
222
|
-
- !ruby/object:Gem::Version
|
223
|
-
version: 0.5.1
|
224
|
-
- - "<"
|
225
|
-
- !ruby/object:Gem::Version
|
226
|
-
version: 0.6.0
|
227
|
-
- !ruby/object:Gem::Dependency
|
228
|
-
name: rubocop-performance
|
229
|
-
requirement: !ruby/object:Gem::Requirement
|
230
|
-
requirements:
|
231
|
-
- - ">="
|
232
|
-
- !ruby/object:Gem::Version
|
233
|
-
version: 1.11.3
|
234
|
-
- - "<"
|
235
|
-
- !ruby/object:Gem::Version
|
236
|
-
version: 1.12.0
|
237
|
-
type: :development
|
238
|
-
prerelease: false
|
239
|
-
version_requirements: !ruby/object:Gem::Requirement
|
240
|
-
requirements:
|
241
|
-
- - ">="
|
242
|
-
- !ruby/object:Gem::Version
|
243
|
-
version: 1.11.3
|
244
|
-
- - "<"
|
245
|
-
- !ruby/object:Gem::Version
|
246
|
-
version: 1.12.0
|
247
|
-
- !ruby/object:Gem::Dependency
|
248
|
-
name: rubocop-rubycw
|
249
|
-
requirement: !ruby/object:Gem::Requirement
|
250
|
-
requirements:
|
251
|
-
- - ">="
|
252
|
-
- !ruby/object:Gem::Version
|
253
|
-
version: 0.1.6
|
254
|
-
- - "<"
|
255
|
-
- !ruby/object:Gem::Version
|
256
|
-
version: 0.2.0
|
257
|
-
type: :development
|
258
|
-
prerelease: false
|
259
|
-
version_requirements: !ruby/object:Gem::Requirement
|
260
|
-
requirements:
|
261
|
-
- - ">="
|
262
|
-
- !ruby/object:Gem::Version
|
263
|
-
version: 0.1.6
|
264
|
-
- - "<"
|
265
|
-
- !ruby/object:Gem::Version
|
266
|
-
version: 0.2.0
|
267
|
-
- !ruby/object:Gem::Dependency
|
268
|
-
name: rubocop-md
|
269
|
-
requirement: !ruby/object:Gem::Requirement
|
270
|
-
requirements:
|
271
|
-
- - ">="
|
272
|
-
- !ruby/object:Gem::Version
|
273
|
-
version: 1.0.1
|
274
|
-
- - "<"
|
275
|
-
- !ruby/object:Gem::Version
|
276
|
-
version: 2.0.0
|
277
|
-
type: :development
|
278
|
-
prerelease: false
|
279
|
-
version_requirements: !ruby/object:Gem::Requirement
|
280
|
-
requirements:
|
281
|
-
- - ">="
|
282
|
-
- !ruby/object:Gem::Version
|
283
|
-
version: 1.0.1
|
284
|
-
- - "<"
|
285
|
-
- !ruby/object:Gem::Version
|
286
|
-
version: 2.0.0
|
11
|
+
date: 2022-05-26 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
287
13
|
description: |2
|
288
14
|
The ULID(Universally Unique Lexicographically Sortable Identifier) has useful specs for applications (e.g. `Database key`), especially possess all `uniqueness`, `randomness`, `extractable timestamps` and `sortable` features.
|
289
15
|
This gem aims to provide the generator, monotonic generator, parser and handy manipulation features around the ULID.
|
@@ -296,6 +22,7 @@ extra_rdoc_files: []
|
|
296
22
|
files:
|
297
23
|
- LICENSE.txt
|
298
24
|
- README.md
|
25
|
+
- lib/ruby-ulid.rb
|
299
26
|
- lib/ulid.rb
|
300
27
|
- lib/ulid/crockford_base32.rb
|
301
28
|
- lib/ulid/monotonic_generator.rb
|
@@ -310,7 +37,8 @@ metadata:
|
|
310
37
|
homepage_uri: https://github.com/kachick/ruby-ulid
|
311
38
|
source_code_uri: https://github.com/kachick/ruby-ulid
|
312
39
|
bug_tracker_uri: https://github.com/kachick/ruby-ulid/issues
|
313
|
-
|
40
|
+
rubygems_mfa_required: 'true'
|
41
|
+
post_install_message:
|
314
42
|
rdoc_options: []
|
315
43
|
require_paths:
|
316
44
|
- lib
|
@@ -318,15 +46,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
318
46
|
requirements:
|
319
47
|
- - ">="
|
320
48
|
- !ruby/object:Gem::Version
|
321
|
-
version: 2.
|
49
|
+
version: 2.7.0
|
322
50
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
323
51
|
requirements:
|
324
52
|
- - ">="
|
325
53
|
- !ruby/object:Gem::Version
|
326
54
|
version: '0'
|
327
55
|
requirements: []
|
328
|
-
rubygems_version: 3.
|
329
|
-
signing_key:
|
56
|
+
rubygems_version: 3.3.7
|
57
|
+
signing_key:
|
330
58
|
specification_version: 4
|
331
|
-
summary:
|
59
|
+
summary: ULID manipulation library
|
332
60
|
test_files: []
|