Class: OpenBD::Contributor

Inherits:
Object
  • Object
show all
Defined in:
lib/open_bd/contributor.rb

Constant Summary collapse

ROLE_MAP =
{
  "A01" => "著者",
  "B06" => "翻訳者"
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(source) ⇒ Contributor

Returns a new instance of Contributor.



10
11
12
# File 'lib/open_bd/contributor.rb', line 10

def initialize(source)
  @source = source
end

Instance Attribute Details

#sourceObject (readonly)

Returns the value of attribute source.



3
4
5
# File 'lib/open_bd/contributor.rb', line 3

def source
  @source
end

Instance Method Details

#descriptionObject



14
15
16
# File 'lib/open_bd/contributor.rb', line 14

def description
  source.dig("BiographicalNote")
end

#kana_nameObject



18
19
20
# File 'lib/open_bd/contributor.rb', line 18

def kana_name
  source.dig("PersonName", "collationkey")
end

#nameObject



22
23
24
# File 'lib/open_bd/contributor.rb', line 22

def name
  source.dig("PersonName", "content")
end

#roleObject



26
27
28
# File 'lib/open_bd/contributor.rb', line 26

def role
  roles.first
end

#rolesObject



30
31
32
33
34
# File 'lib/open_bd/contributor.rb', line 30

def roles
  source.dig("ContributorRole").map do |role|
    ROLE_MAP[role]
  end
end