Sha256: 868849b22c514f3f68b4345912fd86dc01735379e4c736bd2dc51b4c9b3b2a4d

Contents?: true

Size: 928 Bytes

Versions: 1

Compression:

Stored size: 928 Bytes

Contents

# coding: utf-8

module ONIX2
  class Publisher
    include Virtus.model

    attribute :publishing_role, Integer
    attribute :name_code_type, Integer
    attribute :name_code_type_name
    attribute :name_code_type_value
    attribute :publisher_name

    def to_xml
      PublisherRepresenter.new(self).to_xml
    end

    def self.from_xml(data)
      PublisherRepresenter.new(self.new).from_xml(data)
    end
  end

  class PublisherRepresenter < Representable::Decorator
    include Representable::XML

    self.representation_wrap = :Publisher

    property :publishing_role, as: "PublishingRole", render_filter: ::ONIX2::Formatters::TWO_DIGITS
    property :name_code_type, as: "NameCodeType", render_filter: ::ONIX2::Formatters::TWO_DIGITS
    property :name_code_type_name, as: "NameCodeTypeName"
    property :name_code_type_value, as: "NameCodeTypeValue"
    property :publisher_name, as: "PublisherName"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
onix2-1.0.0 lib/onix2/publisher.rb