module Snowflakey
Constants
- VERSION
Public Instance Methods
generate(prefix = nil, size: 96, time: Time.now, base: Snowflake::BASE)
click to toggle source
# File lib/snowflakey.rb, line 10 def generate(prefix = nil, size: 96, time: Time.now, base: Snowflake::BASE) r = (SecureRandom.random_number * 1e16).round Snowflake.new(prefix, size, time.utc, r, base) end
verify(snowflake, size: 96, base: Snowflake::BASE)
click to toggle source
# File lib/snowflakey.rb, line 16 def verify(snowflake, size: 96, base: Snowflake::BASE) id, prefix = snowflake.reverse.split("_", 2).map { |s| s.reverse } ms = id.to_i(base) >> (size - 41) time = Time.at((ms / 1e3)).utc id = Baseconv.convert(id, from_base: base.to_i, to_base: 10) id = id.to_i % (2 ** (size - 41)) Snowflake.new(prefix, size, time, id, base) end