7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/pubid/iho/builder.rb', line 7
def build(parsed)
hash = parsed.is_a?(Array) ? parsed.reduce({}, :merge) : parsed
type_letter = stringify(hash[:type])
attrs = {
number: stringify(hash[:number]),
appendix: stringify(hash[:appendix]),
part: stringify(hash[:part]),
annex: stringify(hash[:annex]),
supplement: stringify(hash[:supplement]),
version: stringify(hash[:version]),
}.compact
Pubid::Iho.identifier_klass_for_type_letter(type_letter).new(**attrs)
end
|