Class: Pubid::Nist::Identifiers::Monograph
- Defined in:
- lib/pubid/nist/identifiers/monograph.rb
Overview
NBS/NIST MONO (Monograph) Identifier Examples:
- "NBS MONO 158" - Basic monograph
- "NIST MONO 178" - NIST monograph
- "NBS MONO 128pt1" - Monograph with part
- "NIST MONO 1-1F" - Monograph with letter suffix
- "NIST MONO 1-2Bv1" - Monograph with letter suffix and volume
Constant Summary collapse
- TYPED_STAGES =
[ Pubid::Components::TypedStage.new( abbr: ["MONO", "NBS MONO", "NIST MONO"], stage_code: "published", type_code: "mono", ), ].freeze
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.type ⇒ Object
27 28 29 30 |
# File 'lib/pubid/nist/identifiers/monograph.rb', line 27 def type { key: :mono, web: :monograph, title: "Monograph", short: "MONO" } end |
.typed_stages ⇒ Object
23 24 25 |
# File 'lib/pubid/nist/identifiers/monograph.rb', line 23 def typed_stages TYPED_STAGES end |
Instance Method Details
#series_code ⇒ Object
33 34 35 |
# File 'lib/pubid/nist/identifiers/monograph.rb', line 33 def series_code "MONO" end |
#to_s(format = nil) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/pubid/nist/identifiers/monograph.rb', line 37 def to_s(format = nil) # Handle both keyword argument (hash) and positional argument (symbol/string) effective_format = if format.is_a?(Hash) format[:format] else format end # If explicit format is specified, use it. Otherwise, default to short. if effective_format.nil? super(:short) elsif effective_format == :mr to_mr_style else super(effective_format) end end |