Class: RelatonIho::IHOGroup

Inherits:
Object
  • Object
show all
Defined in:
lib/relaton_iho/iho_group.rb

Direct Known Subclasses

Commission, Committee, Workgroup

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(abbreviation, name = nil, subgroup = nil) ⇒ IHOGroup

Returns a new instance of IHOGroup.

Parameters:



17
18
19
20
21
# File 'lib/relaton_iho/iho_group.rb', line 17

def initialize(abbreviation, name = nil, subgroup = nil)
  @abbreviation = abbreviation
  @name = name
  @subgroup = subgroup
end

Instance Attribute Details

#abbreviationString (readonly)

Returns:

  • (String)


4
5
6
# File 'lib/relaton_iho/iho_group.rb', line 4

def abbreviation
  @abbreviation
end

#nameString? (readonly)

Returns:

  • (String, nil)


7
8
9
# File 'lib/relaton_iho/iho_group.rb', line 7

def name
  @name
end

#subgroupRelatonIho::Committee, ... (readonly)



11
12
13
# File 'lib/relaton_iho/iho_group.rb', line 11

def subgroup
  @subgroup
end

Class Method Details

.expand(abbr) ⇒ RelatonIho::EditorialGroup

Parameters:

  • abbr (String)

Returns:



26
27
28
29
# File 'lib/relaton_iho/iho_group.rb', line 26

def expand(abbr)
  struct = YAML.load_file File.expand_path("eg.yml", __dir__)
  from_abbr abbr.upcase, struct
end

Instance Method Details

#to_asciibib(prefix, count = 1) ⇒ Strin

Parameters:

  • prefix (String)
  • count (Integer) (defaults to: 1)

Returns:

  • (Strin)


81
82
83
84
85
86
87
# File 'lib/relaton_iho/iho_group.rb', line 81

def to_asciibib(prefix, count = 1)
  out = count > 1 ? "#{prefix}::\n" : ""
  out += "#{prefix}.abbreviation:: #{abbreviation}\n"
  out += "#{prefix}.name:: #{name}\n" if name
  out += subgroup.to_asciibib prefix if subgroup
  out
end

#to_hashHash

Returns:

  • (Hash)


71
72
73
74
75
76
# File 'lib/relaton_iho/iho_group.rb', line 71

def to_hash
  hash = { "abbreviation" => abbreviation }
  hash["name"] = name if name
  hash.merge! subgroup.to_hash if subgroup
  hash
end

#to_xml(builder) ⇒ Object

Parameters:

  • builder (Nokogiri::XML::Builder)


64
65
66
67
68
# File 'lib/relaton_iho/iho_group.rb', line 64

def to_xml(builder)
  builder.name name if name
  builder.abbreviation abbreviation
  subgroup&.to_xml builder
end