10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/linzer/message/field/parser.rb', line 10
def parse(field_name)
case
when field_name.match?(/";/), field_name.start_with?('"')
Starry.parse_item(field_name)
when field_name.match?(/;/)
parse_unserialized_input(field_name)
when field_name.start_with?("@"), field_name.match?(/^[a-z]/)
Starry.parse_item(Starry.serialize(field_name))
else
raise Error, "Invalid component identifier: '#{field_name}'!"
end
rescue Starry::ParseError => ex
parse_error = "Failed to parse component identifier: '#{field_name}'!"
raise Error, parse_error, cause: ex
end
|