class RelatonOgc::EditorialGroup
OGC project group.
Constants
- COMMITTEES
Attributes
committee[R]
@return [String]
subcommittee[R]
@return [RelatonIsoBib::IsoSubgroup]
workgroup[R]
@return [RelatonIsoBib::IsoSubgroup]
Public Class Methods
new(committee:, **args)
click to toggle source
@param committee [String]
@param subcommittee [Hash, RelatonIsoBib::IsoSubgroup] @option subcommittee [String] :name @option subcommittee [String] :type @option subcommittee [Integer] :number
@param workgroup [Hash, RelatonIsoBib::IsoSubgroup] @option workgroup [String] :name @option workgroup [String] :type @option workgroup [Integer] :number
# File lib/relaton_ogc/editorial_group.rb, line 28 def initialize(committee:, **args) unless COMMITTEES.include? committee raise ArgumentError, "committee is invalid: #{committee}" end @committee = committee @subcommittee = subgroup args[:subcommittee] @workgroup = subgroup args[:workgroup] end
Public Instance Methods
presence?()
click to toggle source
@return [true]
# File lib/relaton_ogc/editorial_group.rb, line 39 def presence? true end
to_asciibib(prefix)
click to toggle source
@param prefix [String] @return [String]
# File lib/relaton_ogc/editorial_group.rb, line 62 def to_asciibib(prefix) pref = prefix.empty? ? prefix : prefix + "." pref += "editorialgroup" out = "#{pref}.committee:: #{committee}\n" out += subcommittee.to_asciibib "#{pref}.subcommittee" if subcommittee out += workgroup.to_asciibib "#{pref}.workgroup" if workgroup out end
to_hash()
click to toggle source
@return [Hash]
# File lib/relaton_ogc/editorial_group.rb, line 53 def to_hash hash = { "committee" => committee } hash["subcommittee"] = subcommittee.to_hash if subcommittee hash["workgroup"] = workgroup.to_hash if workgroup hash end
to_xml(builder)
click to toggle source
@param builder [Nokogiri::XML::Builder]
# File lib/relaton_ogc/editorial_group.rb, line 44 def to_xml(builder) builder.editorialgroup do builder.committee committee builder.subcommittee { subcommittee&.to_xml builder } if subcommittee builder.workgroup { workgroup&.to_xml builder } if workgroup end end
Private Instance Methods
subgroup(group)
click to toggle source
@param group [Hash, RelatonIsoBib::IsoSubgroup] @return {RelatonIsoBib::IsoSubgroup}
# File lib/relaton_ogc/editorial_group.rb, line 75 def subgroup(group) if group.is_a?(Hash) RelatonBib::WorkGroup.new(**group) else group end end