module Pnn

def self.dump(letter:, prefix: nil, suffix: nil)

Raises:
  • (ArgumentError) - If any parameter is invalid

Returns:
  • (String) - PNN notation string

Parameters:
  • suffix (String, nil) -- Optional modifier following the letter (''')
  • prefix (String, nil) -- Optional modifier preceding the letter ('+' or '-')
  • letter (String) -- A single ASCII letter ('a-z' or 'A-Z')
def self.dump(letter:, prefix: nil, suffix: nil)
  Dumper.dump(letter:, prefix:, suffix:)
end

def self.parse(pnn_string)

Raises:
  • (ArgumentError) - If the PNN string is invalid

Returns:
  • (Hash) - Hash containing the parsed piece data with the following keys:

Parameters:
  • pnn_string (String) -- PNN notation string
def self.parse(pnn_string)
  Parser.parse(pnn_string)
end

def self.safe_parse(pnn_string)

Returns:
  • (Hash, nil) - Hash containing the parsed piece data or nil if parsing fails

Parameters:
  • pnn_string (String) -- PNN notation string
def self.safe_parse(pnn_string)
  Parser.safe_parse(pnn_string)
end

def self.valid?(pnn_string)

Returns:
  • (Boolean) - True if the string is a valid PNN string

Parameters:
  • pnn_string (String) -- PNN string to validate
def self.valid?(pnn_string)
  Validator.valid?(pnn_string)
end