ruby-ulid 0.1.5 → 0.1.6

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: 01dca4f18f5bb3168b135847b6a1171d00a6ceb03b1d2ef68b6df212975cafc1
4
- data.tar.gz: e1b0cb033ded88591d4817395507f517f46b7d3dd3d3a72021a216dcfef09d12
3
+ metadata.gz: 6e67f6449c010a7c85ff8050a081b21e824ed876d7695a4fa22beb25f2a62534
4
+ data.tar.gz: f0b0607131f8b04dd57c587746cd992a9a01070cacb53857fca6efb7dd11fe45
5
5
  SHA512:
6
- metadata.gz: c9c1a60687c05cfa99ce37f4e692938bff96dd15afa6b0adce40de5b897303b6e57301f069299c06d726bdd7a425e1ed581b7b60e15efc88d69abc417c577005
7
- data.tar.gz: 71f333e7a6d6169f346b0e8fba65c9413fa24c32ce6799623e11b789544fb057fa0f67f83ed94a896cbac9df123ee4f9c9598735953217bd6fec332df659ee9f
6
+ metadata.gz: 5c1e3540e8e4f75c92fbc8347d2898fe8f8f233830a878c67462f8f9c9f065c969a9df8dd93e11bd27baa7a5cb7c1cb1eaf2fdf1e7dba5f5833e6295cd9d083f
7
+ data.tar.gz: cd70d28d9cba7270ddf61dcf46bba1c4a04328d828ba7ed32a39c68c01f460b36f9f85da74fdb1d1b742309fdffb29d118cc8bc238c1744b61dbdc3a32255475
data/README.md CHANGED
@@ -49,7 +49,7 @@ Should be installed!
49
49
  Add this line to your application/library's `Gemfile` is needed in basic use-case
50
50
 
51
51
  ```ruby
52
- gem 'ruby-ulid', '>= 0.1.5', '< 0.2.0'
52
+ gem 'ruby-ulid', '>= 0.1.6', '< 0.2.0'
53
53
  ```
54
54
 
55
55
  ### Generator and Parser
data/lib/ruby-ulid.rb ADDED
@@ -0,0 +1,6 @@
1
+ # coding: us-ascii
2
+ # frozen_string_literal: true
3
+
4
+ # Copyright (C) 2021 Kenichi Kamiya
5
+
6
+ require_relative 'ulid'
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(object.class.name)
327
+ name = String.try_convert(klass.name)
317
328
  rescue Exception
318
329
  fallback
319
330
  else
data/lib/ulid/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  class ULID
5
- VERSION = '0.1.5'
5
+ VERSION = '0.1.6'
6
6
  end
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 pribate API. Should not be used in your code.
49
+ # A private API. Should not be used in your code.
50
50
  def self.encode: (Integer integer) -> String
51
51
 
52
- # A pribate API. Should not be used in your code.
52
+ # A private API. Should not be used in your code.
53
53
  def self.decode: (String string) -> Integer
54
54
 
55
- # A pribate API. Should not be used in your code.
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 pribate API. Should not be used in your code.
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 pribate API. Should not be used in your code.
162
+ # A private API. Should not be used in your code.
163
163
  def self.current_milliseconds: -> Integer
164
164
 
165
- # A pribate API. Should not be used in your code.
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 pribate API. Should not be used in your code.
510
+ # A private API. Should not be used in your code.
511
511
  def marshal_dump: -> Integer
512
512
 
513
- # A pribate API. Should not be used in your code.
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 pribate API. Should not be used in your code.
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 pribate API. Should not be used in your code.
531
+ # A private API. Should not be used in your code.
532
532
  def self.reasonable_entropy: -> Integer
533
533
 
534
- # A pribate API. Should not be used in your code.
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 pribate API. Should not be used in your code.
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 pribate API. Should not be used in your code.
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 pribate API. Should not be used in your code.
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.5
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-26 00:00:00.000000000 Z
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: Useful ULID library
58
+ summary: ULID manipulation library
332
59
  test_files: []