Class: RelatonIec::IecBibliographicItem
- Inherits:
-
RelatonIsoBib::IsoBibliographicItem
- Object
- RelatonIsoBib::IsoBibliographicItem
- RelatonIec::IecBibliographicItem
- Defined in:
- lib/relaton_iec/iec_bibliographic_item.rb
Constant Summary collapse
- DOCTYPES =
%w[ international-standard technical-specification technical-report publicly-available-specification international-workshop-agreement guide industry-technical-agreement system-reference-deliverable ].freeze
- DOCSUBTYPES =
%w[specification method-of-test vocabulary code-of-practice].freeze
- FUNCTION =
%w[emc safety enviroment quality-assurance].freeze
Instance Attribute Summary collapse
- #accessibility_color_inside ⇒ Boolean? readonly
- #cen_processing ⇒ Boolean? readonly
- #function ⇒ String? readonly
- #interest_to_committees ⇒ String? readonly
- #price_code ⇒ String? readonly
- #secretary ⇒ String? readonly
- #updates_document_type ⇒ String? readonly
Class Method Summary collapse
Instance Method Summary collapse
-
#ext_schema ⇒ String
Fetch flavor schema version.
-
#initialize(**args) ⇒ IecBibliographicItem
constructor
Initialize instance of RelatonIec::IecBibliographicItem.
- #to_hash(embedded: false) ⇒ Hash
-
#to_xml(**opts) ⇒ String
XML.
Constructor Details
#initialize(**args) ⇒ IecBibliographicItem
Initialize instance of RelatonIec::IecBibliographicItem
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/relaton_iec/iec_bibliographic_item.rb', line 35 def initialize(**args) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength if args[:function] && !FUNCTION.include?(args[:function]) warn "[relaton-iec] WARNING: invalid function \"#{args[:function]}\"" warn "[relaton-iec] allowed function values are: #{FUNCTION.join(', ')}" end if args[:updates_document_type] && !DOCTYPES.include?(args[:updates_document_type]) warn "[relaton-iec] WARNING: invalid updates_document_type "\ "\"#{args[:updates_document_type]}\"" warn "[relaton-iec] allowed updates_document_type values are: "\ "#{DOCTYPES.join(', ')}" end @function = args.delete :function @updates_document_type = args.delete :updates_document_type @accessibility_color_inside = args.delete :accessibility_color_inside @price_code = args.delete :price_code @cen_processing = args.delete :cen_processing @secretary = args.delete :secretary @interest_to_committees = args.delete :interest_to_committees super end |
Instance Attribute Details
#accessibility_color_inside ⇒ Boolean? (readonly)
18 19 20 |
# File 'lib/relaton_iec/iec_bibliographic_item.rb', line 18 def accessibility_color_inside @accessibility_color_inside end |
#cen_processing ⇒ Boolean? (readonly)
18 19 20 |
# File 'lib/relaton_iec/iec_bibliographic_item.rb', line 18 def cen_processing @cen_processing end |
#function ⇒ String? (readonly)
14 15 16 |
# File 'lib/relaton_iec/iec_bibliographic_item.rb', line 14 def function @function end |
#interest_to_committees ⇒ String? (readonly)
14 15 16 |
# File 'lib/relaton_iec/iec_bibliographic_item.rb', line 14 def interest_to_committees @interest_to_committees end |
#price_code ⇒ String? (readonly)
14 15 16 |
# File 'lib/relaton_iec/iec_bibliographic_item.rb', line 14 def price_code @price_code end |
#secretary ⇒ String? (readonly)
14 15 16 |
# File 'lib/relaton_iec/iec_bibliographic_item.rb', line 14 def secretary @secretary end |
#updates_document_type ⇒ String? (readonly)
14 15 16 |
# File 'lib/relaton_iec/iec_bibliographic_item.rb', line 14 def updates_document_type @updates_document_type end |
Class Method Details
.from_hash(hash) ⇒ RelatonIsoBib::IecBibliographicItem
68 69 70 71 |
# File 'lib/relaton_iec/iec_bibliographic_item.rb', line 68 def self.from_hash(hash) item_hash = ::RelatonIec::HashConverter.hash_to_bib(hash) new(**item_hash) end |
Instance Method Details
#ext_schema ⇒ String
Fetch flavor schema version
62 63 64 |
# File 'lib/relaton_iec/iec_bibliographic_item.rb', line 62 def ext_schema schema_versions["relaton-model-iec"] end |
#to_hash(embedded: false) ⇒ Hash
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
# File 'lib/relaton_iec/iec_bibliographic_item.rb', line 108 def to_hash(embedded: false) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/MethodLength,Metrics/PerceivedComplexity hash = super hash["function"] = function if function if updates_document_type hash["updates_document_type"] = updates_document_type end unless accessibility_color_inside.nil? hash["accessibility_color_inside"] = accessibility_color_inside end hash["price_code"] = price_code if price_code hash["cen_processing"] = cen_processing unless cen_processing.nil? hash["secretary"] = secretary if secretary if interest_to_committees hash["interest_to_committees"] = interest_to_committees end hash end |
#to_xml(**opts) ⇒ String
Returns XML.
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 104 105 |
# File 'lib/relaton_iec/iec_bibliographic_item.rb', line 78 def to_xml(**opts) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength,Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity super(**opts) do |b| if opts[:bibdata] ext = b.ext do b.doctype doctype if doctype b.horizontal horizontal unless horizontal.nil? b.function function if function editorialgroup&.to_xml b ics.each { |i| i.to_xml b } structuredidentifier&.to_xml b b.stagename stagename if stagename if updates_document_type b.send(:"updates-document-type", updates_document_type) end unless accessibility_color_inside.nil? b.send(:"accessibility-color-inside", accessibility_color_inside) end b.send(:"price-code", price_code) if price_code b.send(:"cen-processing", cen_processing) unless cen_processing.nil? b.secretary secretary if secretary if interest_to_committees b.send(:"interest-to-committees", interest_to_committees) end end ext["schema-version"] = ext_schema unless opts[:embedded] end end end |