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 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: []