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)