Sha256: a832bafac4d104acb423182bc5b6552e5e36a626c022ff59a5b2576d6018ec74

Contents?: true

Size: 1.49 KB

Versions: 6

Compression:

Stored size: 1.49 KB

Contents

# frozen_string_literal: true

module Ieee
  module Idams
    # Represents a set of topical browse categories
    class PubTopicalBrowseSet < Lutaml::Model::Serializable
      # List of topical browse categories
      VALID_CATEGORIES = [
        "Aerospace",
        "Bioengineering",
        "Communication, Networking, and Broadcast Technologies",
        "Components, Circuits, Devices and Systems",
        "Computing and Processing",
        "Engineered Materials, Dielectrics and Plasmas",
        "Engineering Profession",
        "Fields, Waves and Electromagnetics",
        "General Topics for Engineers",
        "Geoscience",
        "Nuclear Engineering",
        "Photonics and Electrooptics",
        "Power, Industry and Industry Applications",
        "Robotics and Control Systems",
        "Signal Processing and Analysis",
        "Transportation"
      ].freeze

      # List of topical categories
      # @return [Array<String>] subject classifications
      attribute :pubtopicalbrowse, :string, collection: true,
                                            values: VALID_CATEGORIES

      xml do
        root "pubtopicalbrowseset"
        map_element "pubtopicalbrowse", to: :pubtopicalbrowse
      end

      # def validate
      #   errors = super
      #   pubtopicalbrowse.each do |category|
      #     unless VALID_CATEGORIES.include?(category)
      #       errors << "Invalid topical browse category: #{category}"
      #     end
      #   end
      #   errors
      # end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

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