Sha256: 9e499b8d2914c03672ea4c1ff2261c9b96592965c14e0d5f09152273fdb67bb4

Contents?: true

Size: 1.14 KB

Versions: 4

Compression:

Stored size: 1.14 KB

Contents

# frozen_string_literal: true

require_relative "publication_info"
require_relative "volume"

module Ieee
  module Idams
    # Represents an IEEE IDAMS publication record
    class Publication < Lutaml::Model::Serializable
      # Publication title
      # @return [String] normalized title
      attribute :title, :string

      # Publication normalized title
      # @return [String] normalized title
      attribute :normtitle, :string

      # Standards family title
      # @return [String] family title for standards
      attribute :standardsfamilytitle, :string

      # Publication information
      # @return [PublicationInfo] detailed publication metadata
      attribute :publicationinfo, PublicationInfo

      # Volume information
      # @return [Volume] volume details
      attribute :volume, Volume

      xml do
        root "publication"
        map_element "title", to: :title, cdata: true
        map_element "normtitle", to: :normtitle, cdata: true
        map_element "standardsfamilytitle", to: :standardsfamilytitle
        map_element "publicationinfo", to: :publicationinfo
        map_element "volume", to: :volume
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ieee-idams-0.2.9 lib/ieee/idams/publication.rb
ieee-idams-0.2.8 lib/ieee/idams/publication.rb
ieee-idams-0.2.7 lib/ieee/idams/publication.rb
ieee-idams-0.2.6 lib/ieee/idams/publication.rb