Class: OpenBD::Resources::Onix::PublishingDetail
- Inherits:
-
BaseResource
- Object
- BaseResource
- OpenBD::Resources::Onix::PublishingDetail
- Defined in:
- lib/openbd/resources/onix/publishing_detail.rb
Overview
Block 4: Publishing detail
出版社に関する情報を記述する。
Instance Attribute Summary collapse
-
#imprint ⇒ OpenBD::Resources::Onix::Publisher
readonly
Imprint (発行出版社).
-
#public_announcement_date ⇒ String
readonly
Public Announcement Date (発売情報解禁日).
-
#publisher ⇒ OpenBD::Resources::Onix::Publisher
readonly
Publisher (発売出版社).
-
#publishers_reservation_order_deadline ⇒ String
readonly
Publishers Reservation Order Deadline (注文・申込締切(事前予約注文締切日)).
-
#publishing_date ⇒ String
readonly
Publishing Date (発売予定日).
-
#publishing_embargo_date ⇒ String
readonly
Publishing Embargo Date (発売協定日).
Attributes inherited from BaseResource
Instance Method Summary collapse
-
#initialize(src) ⇒ PublishingDetail
constructor
A new instance of PublishingDetail.
- #parse(pd) ⇒ Object
Constructor Details
#initialize(src) ⇒ PublishingDetail
Returns a new instance of PublishingDetail.
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/openbd/resources/onix/publishing_detail.rb', line 36 def initialize(src) super @imprint = nil @publisher = nil @publishing_date = nil @publishing_embargo_date = nil @public_announcement_date = nil @publishers_reservation_order_deadline = nil parse(src) end |
Instance Attribute Details
#imprint ⇒ OpenBD::Resources::Onix::Publisher (readonly)
Imprint (発行出版社)
14 15 16 |
# File 'lib/openbd/resources/onix/publishing_detail.rb', line 14 def imprint @imprint end |
#public_announcement_date ⇒ String (readonly)
Public Announcement Date (発売情報解禁日)
30 31 32 |
# File 'lib/openbd/resources/onix/publishing_detail.rb', line 30 def public_announcement_date @public_announcement_date end |
#publisher ⇒ OpenBD::Resources::Onix::Publisher (readonly)
Publisher (発売出版社)
18 19 20 |
# File 'lib/openbd/resources/onix/publishing_detail.rb', line 18 def publisher @publisher end |
#publishers_reservation_order_deadline ⇒ String (readonly)
Publishers Reservation Order Deadline (注文・申込締切(事前予約注文締切日))
34 35 36 |
# File 'lib/openbd/resources/onix/publishing_detail.rb', line 34 def publishers_reservation_order_deadline @publishers_reservation_order_deadline end |
#publishing_date ⇒ String (readonly)
Publishing Date (発売予定日)
22 23 24 |
# File 'lib/openbd/resources/onix/publishing_detail.rb', line 22 def publishing_date @publishing_date end |
#publishing_embargo_date ⇒ String (readonly)
Publishing Embargo Date (発売協定日)
26 27 28 |
# File 'lib/openbd/resources/onix/publishing_detail.rb', line 26 def @publishing_embargo_date end |
Instance Method Details
#parse(pd) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/openbd/resources/onix/publishing_detail.rb', line 47 def parse(pd) if pd["Imprint"] publisher_id = distribution_id = nil pd["Imprint"]["ImprintIdentifier"].each do |ii| # Onix codelists, List 44: Name code type # https://onix-codelists.io/codelist/44 case ii["ImprintIDType"] when "19" ## JapanesePublisherIdentifier, 発行出版社コード publisher_id = ii["IDValue"] when "24" ## JpDistributionIdentifier, 発行取引コード distribution_id = ii["IDValue"] end end name = pd["Imprint"]["ImprintName"] ## 発行出版社名 @imprint = OpenBD::Resources::Onix::Publisher.new(name, publisher_id, distribution_id) end if pd["Publisher"] publisher_id = distribution_id = nil pd["Publisher"]["PublisherIdentifier"].each do |pi| # Onix codelists, List 44: Name code type # https://onix-codelists.io/codelist/44 case pi["PublisherIDType"] when "19" ## JapanesePublisherIdentifier, 発売出版社コード publisher_id = pi["IDValue"] when "24" ## JpDistributionIdentifier, 発売取引コード distribution_id = pi["IDValue"] end end name = pd["Publisher"]["PublisherName"] ## 発売出版社名 @publisher = OpenBD::Resources::Onix::Publisher.new(name, publisher_id, distribution_id) end if pd["PublishingDate"] pd["PublishingDate"].each do |pdi| # Onix Codelists, List 163: Publishing date role # https://onix-codelists.io/codelist/163 case pdi["PublishingDateRole"] when "01" ## PublicationDate @publishing_date = pdi["Date"] when "02" ## EmbargoDate @publishing_embargo_date = pdi["Date"] when "09" ## PublicAnnouncementDate @public_announcement_date = pdi["Date"] when "25" ## PublishersReservationOrderDeadline @publishers_reservation_order_deadline = pdi["Date"] end end end end |