class RelatonItu::EditorialGroup
Constants
- BUREAUS
Attributes
bureau[R]
@return [String]
group[R]
@returnn [RelatonItu::ItuGroup]
subgroup[R]
@return [RelatonItu::ItuGroup, NilClass]
workgroup[R]
@return [RelatonItu::ItuGroup, NilClass]
Public Class Methods
new(bureau:, group:, subgroup: nil, workgroup: nil)
click to toggle source
@param bureau [String] @param group [Hash, RelatonItu::ItuGroup] @param subgroup [Hash, RelatonItu::ItuGroup
, NilClass] @param workgroup [Hash, RelatonItu::ItuGroup
, NilClass]
# File lib/relaton_itu/editorial_group.rb, line 18 def initialize(bureau:, group:, subgroup: nil, workgroup: nil) unless BUREAUS.include? bureau warn "[relaton-itu] WARNING: invalid bureau: #{bureau}" end @bureau = bureau @group = group.is_a?(Hash) ? ItuGroup.new(**group) : group @subgroup = subgroup.is_a?(Hash) ? ItuGroup.new(subgroup) : subgroup @workgroup = workgroup.is_a?(Hash) ? ItuGroup.new(workgroup) : workgroup end
Public Instance Methods
presence?()
click to toggle source
@return [true]
# File lib/relaton_itu/editorial_group.rb, line 29 def presence? true end
to_asciibib(prefix)
click to toggle source
@param prefix [String] @return [String]
# File lib/relaton_itu/editorial_group.rb, line 54 def to_asciibib(prefix) # rubocop:disable Metrics/AbcSize pref = prefix.empty? ? prefix : prefix + "." pref += "editorialgroup" out = "#{pref}.bureau:: #{bureau}\n" out += group.to_asciibib "#{pref}.group" if group out += subgroup.to_asciibib "#{pref}.subgroup" if subgroup out += workgroup.to_asciibib "#{pref}.workgroup" if workgroup out end
to_hash()
click to toggle source
@return [Hash]
# File lib/relaton_itu/editorial_group.rb, line 44 def to_hash hash = { "bureau" => bureau } hash["group"] = group.to_hash if group hash["subgroup"] = subgroup.to_hash if subgroup hash["workgroup"] = workgroup.to_hash if workgroup hash end
to_xml(builder)
click to toggle source
@param builder [Nokogiri::XML::Builder]
# File lib/relaton_itu/editorial_group.rb, line 34 def to_xml(builder) # rubocop:disable Metrics/AbcSize builder.editorialgroup do builder.bureau bureau builder.group { |b| group.to_xml b } if group builder.subgroup { |b| group.to_xml b } if subgroup builder.workgroup { |b| group.to_xml b } if workgroup end end