lib/propertybase_id.rb in propertybase_id-0.3.0 vs lib/propertybase_id.rb in propertybase_id-0.3.1
- old
+ new
@@ -57,11 +57,11 @@
def self.generate(object:)
@@generator.generate(object: object)
end
def self.parse(input_id)
- raise ArgumentError, "invalid length (#{input_id.size})" if input_id.size != 18
+ raise ArgumentError, "invalid length (#{input_id.size})" if input_id.size != max_length
_, object_id, host_id, time, process_id, counter = input_id.match(/(\w{3})(\w{2})(\w{6})(\w{2})(\w{5})/).to_a
team_from_object_id(object_id.to_i(36))
@@ -70,9 +70,17 @@
host_id: host_id.to_i(36),
time: time.to_i(36),
process_id: process_id.to_i(36),
counter: counter.to_i(36),
)
+ end
+
+ def self.max_length
+ 18
+ end
+
+ def self.max_value(digits = max_length)
+ ("zz" * digits).to_i(36)
end
private
def format_number(integer, length)