class RelatonIsoBib::Ics

Iso ICS classificator.

Public Class Methods

new(code = nil, field: nil, group: nil, subgroup: nil) click to toggle source

@param code [String, NilClass] @param field [Integer, NilClass] @param group [Integer, NilClass] @param subgroup [Integer, NilClass]

Calls superclass method
# File lib/relaton_iso_bib/ics.rb, line 8
def initialize(code = nil, field: nil, group: nil, subgroup: nil)
  unless code || field
    raise ArgumentError,
          "wrong arguments (should be string or { fieldcode: [String] }"
  end

  field, group, subgroup = code.split "." if code
  super fieldcode: field, groupcode: group, subgroupcode: subgroup
end

Public Instance Methods

to_asciibib(prefix = "", count = 1) click to toggle source

@param prefix [String] @param count [Integer] number of ICS @return [String]

# File lib/relaton_iso_bib/ics.rb, line 37
def to_asciibib(prefix = "", count = 1)
  pref = prefix.empty? ? prefix : prefix + "."
  pref += "ics"
  out = count > 1 ? "#{pref}::\n" : ""
  out += "#{pref}.code:: #{code}\n"
  out += "#{pref}.description:: #{description}\n"
  out
end
to_hash() click to toggle source

@return [Hash]

# File lib/relaton_iso_bib/ics.rb, line 27
def to_hash
  hash = {}
  hash["code"] = code if code
  hash["text"] = description if description
  hash
end
to_xml(builder) click to toggle source

@param builder [Nokogiri::XML::Builder]

# File lib/relaton_iso_bib/ics.rb, line 19
def to_xml(builder)
  builder.ics do
    builder.code code
    builder.text_ description
  end
end