Sha256: 433dc3c59a457df7d9579603bc6cb73eaa56869d047d8a15a51eb762f4e0a4f8

Contents?: true

Size: 1005 Bytes

Versions: 6

Compression:

Stored size: 1005 Bytes

Contents

# frozen_string_literal: true

module Ieee
  module Idams
    # Represents an ISBN identifier for a book
    class Isbn < Lutaml::Model::Serializable
      # ISBN number
      # @return [String] 13 or 10 digit ISBN, max 15 chars
      attribute :content, :string

      # File type for this ISBN
      # @return [String] one of: paperback, hardcover, ePub, PDF
      attribute :isbnfiletype, :string, values: %w[paperback hardcover ePub PDF]

      # ISBN type specification
      # @return [String] one of: New-2005, Historical
      attribute :isbntype, :string, values: %w[New-2005 Historical]

      # Media type
      # @return [String] one of: Paper, CD, Online, Electronic
      attribute :mediatype, :string, values: %w[Paper CD Online Electronic]

      xml do
        root "isbn"
        map_content to: :content
        map_attribute "isbnfiletype", to: :isbnfiletype
        map_attribute "isbntype", to: :isbntype
        map_attribute "mediatype", to: :mediatype
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ieee-idams-0.2.11 lib/ieee/idams/isbn.rb
ieee-idams-0.2.10 lib/ieee/idams/isbn.rb
ieee-idams-0.2.9 lib/ieee/idams/isbn.rb
ieee-idams-0.2.8 lib/ieee/idams/isbn.rb
ieee-idams-0.2.7 lib/ieee/idams/isbn.rb
ieee-idams-0.2.6 lib/ieee/idams/isbn.rb