ruby-ulid 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/ruby-ulid.rb +6 -0
- data/lib/ulid.rb +12 -1
- data/lib/ulid/version.rb +1 -1
- data/sig/ulid.rbs +14 -14
- metadata +5 -278
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e67f6449c010a7c85ff8050a081b21e824ed876d7695a4fa22beb25f2a62534
|
4
|
+
data.tar.gz: f0b0607131f8b04dd57c587746cd992a9a01070cacb53857fca6efb7dd11fe45
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5c1e3540e8e4f75c92fbc8347d2898fe8f8f233830a878c67462f8f9c9f065c969a9df8dd93e11bd27baa7a5cb7c1cb1eaf2fdf1e7dba5f5833e6295cd9d083f
|
7
|
+
data.tar.gz: cd70d28d9cba7270ddf61dcf46bba1c4a04328d828ba7ed32a39c68c01f460b36f9f85da74fdb1d1b742309fdffb29d118cc8bc238c1744b61dbdc3a32255475
|
data/README.md
CHANGED
data/lib/ruby-ulid.rb
ADDED
data/lib/ulid.rb
CHANGED
@@ -312,8 +312,19 @@ class ULID
|
|
312
312
|
private_class_method def self.safe_get_class_name(object)
|
313
313
|
fallback = 'UnknownObject'
|
314
314
|
|
315
|
+
# This class getter implementation used https://github.com/rspec/rspec-support/blob/4ad8392d0787a66f9c351d9cf6c7618e18b3d0f2/lib/rspec/support.rb#L83-L89 as a reference, thank you!
|
316
|
+
# ref: https://twitter.com/_kachick/status/1400064896759304196
|
317
|
+
klass = (
|
318
|
+
begin
|
319
|
+
object.class
|
320
|
+
rescue NoMethodError
|
321
|
+
singleton_class = class << object; self; end
|
322
|
+
singleton_class.ancestors.detect { |ancestor| !ancestor.equal?(singleton_class) }
|
323
|
+
end
|
324
|
+
)
|
325
|
+
|
315
326
|
begin
|
316
|
-
name = String.try_convert(
|
327
|
+
name = String.try_convert(klass.name)
|
317
328
|
rescue Exception
|
318
329
|
fallback
|
319
330
|
else
|
data/lib/ulid/version.rb
CHANGED
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
|
@@ -507,10 +507,10 @@ class ULID < Object
|
|
507
507
|
def pred: -> ULID?
|
508
508
|
def freeze: -> self
|
509
509
|
|
510
|
-
# A
|
510
|
+
# A private API. Should not be used in your code.
|
511
511
|
def marshal_dump: -> Integer
|
512
512
|
|
513
|
-
# A
|
513
|
+
# A private API. Should not be used in your code.
|
514
514
|
def marshal_load: (Integer integer) -> void
|
515
515
|
|
516
516
|
# Returns `self`
|
@@ -525,21 +525,21 @@ class ULID < Object
|
|
525
525
|
|
526
526
|
private
|
527
527
|
|
528
|
-
# A
|
528
|
+
# A private API. Should not be used in your code.
|
529
529
|
def self.new: (milliseconds: Integer, entropy: Integer, integer: Integer) -> self
|
530
530
|
|
531
|
-
# A
|
531
|
+
# A private API. Should not be used in your code.
|
532
532
|
def self.reasonable_entropy: -> Integer
|
533
533
|
|
534
|
-
# A
|
534
|
+
# A private API. Should not be used in your code.
|
535
535
|
def self.milliseconds_from_time: (Time time) -> Integer
|
536
536
|
|
537
|
-
# A
|
537
|
+
# A private API. Should not be used in your code.
|
538
538
|
def self.safe_get_class_name: (untyped object) -> String
|
539
539
|
|
540
|
-
# A
|
540
|
+
# A private API. Should not be used in your code.
|
541
541
|
def initialize: (milliseconds: Integer, entropy: Integer, integer: Integer) -> void
|
542
542
|
|
543
|
-
# A
|
543
|
+
# A private API. Should not be used in your code.
|
544
544
|
def cache_all_instance_variables: -> void
|
545
545
|
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.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kenichi Kamiya
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-05
|
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: 2021-07-05 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
|
@@ -328,5 +55,5 @@ requirements: []
|
|
328
55
|
rubygems_version: 3.2.15
|
329
56
|
signing_key:
|
330
57
|
specification_version: 4
|
331
|
-
summary:
|
58
|
+
summary: ULID manipulation library
|
332
59
|
test_files: []
|