Class: RelatonBsi::BsiBibliographicItem

Inherits:
RelatonIsoBib::IsoBibliographicItem
  • Object
show all
Defined in:
lib/relaton_bsi/bsi_bibliographic_item.rb

Constant Summary collapse

DOCTYPES =
%w[
  british-standard draft-for-development published-document privately-subscribed-standard
  publicly-available-specification flex-standard international-standard technical-specification
  technical-report guide international-workshop-agreement industry-technical-agreement
  standard european-workshop-agreement fast-track-standard
].freeze
SUBDOCTYPES =
%w[specification method-of-test method-of-specifying vocabulary code-of-practice].freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ BsiBibliographicItem

rubocop:disable Metrics/AbcSize



12
13
14
15
16
17
18
# File 'lib/relaton_bsi/bsi_bibliographic_item.rb', line 12

def initialize(**args) # rubocop:disable Metrics/AbcSize
  if args[:subdoctype] && !SUBDOCTYPES.include?(args[:subdoctype])
    Util.warn "WARNING: invalid subdoctype: `#{args[:subdoctype]}`"
    Util.warn "Allowed subdoctypes are: `#{SUBDOCTYPES.join('`, `')}`"
  end
  super
end

Class Method Details

.from_hash(hash) ⇒ RelatonBsi::BsiBibliographicItem

Parameters:

  • hash (Hash)

Returns:



53
54
55
56
# File 'lib/relaton_bsi/bsi_bibliographic_item.rb', line 53

def self.from_hash(hash)
  item_hash = ::RelatonBsi::HashConverter.hash_to_bib(hash)
  new(**item_hash)
end

Instance Method Details

#ext_schemaString

Fetch flavor schema version

Returns:

  • (String)

    flavor schema version



25
26
27
# File 'lib/relaton_bsi/bsi_bibliographic_item.rb', line 25

def ext_schema
  @ext_schema ||= schema_versions["relaton-model-bsi"]
end