Module: Notion::ID

Defined in:
lib/notion/id.rb

Class Method Summary collapse

Class Method Details

.normalize(value) ⇒ Object

Raises:

  • (ArgumentError)


7
8
9
10
11
12
# File 'lib/notion/id.rb', line 7

def normalize(value)
  hex = value.to_s.delete("-").downcase
  raise ArgumentError, "invalid Notion ID" unless hex.match?(/\A[0-9a-f]{32}\z/)

  [8, 4, 4, 4, 12].map { |size| hex.slice!(0, size) }.join("-")
end