Class: RelatonBib::Place

Inherits:
Object show all
Defined in:
lib/relaton_bib/place.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, uri: nil, region: nil) ⇒ Place

Returns a new instance of Place.

Parameters:

  • name (String)
  • uri (String, NilClass) (defaults to: nil)
  • region (String, NilClass) (defaults to: nil)


12
13
14
15
16
# File 'lib/relaton_bib/place.rb', line 12

def initialize(name:, uri: nil, region: nil)
  @name   = name
  @uri    = uri
  @region = region
end

Instance Attribute Details

#nameString (readonly)

Returns:

  • (String)


4
5
6
# File 'lib/relaton_bib/place.rb', line 4

def name
  @name
end

#regionString, NilClass (readonly)

Returns:

  • (String, NilClass)


7
8
9
# File 'lib/relaton_bib/place.rb', line 7

def region
  @region
end

#uriString, NilClass (readonly)

Returns:

  • (String, NilClass)


7
8
9
# File 'lib/relaton_bib/place.rb', line 7

def uri
  @uri
end

Instance Method Details

#to_asciibib(prefix = "", count = 1) ⇒ Stirng

Parameters:

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

    number of places

Returns:

  • (Stirng)


40
41
42
43
44
45
46
47
# File 'lib/relaton_bib/place.rb', line 40

def to_asciibib(prefix = "", count = 1)
  pref = prefix.empty? ? "place" : prefix + ".place"
  out = count > 1 ? "#{pref}::\n" : ""
  out += "#{pref}.name:: #{name}\n"
  out += "#{pref}.uri:: #{uri}\n" if uri
  out += "#{pref}.region:: #{region}\n" if region
  out
end

#to_hashHash

Returns:

  • (Hash)


26
27
28
29
30
31
32
33
34
35
# File 'lib/relaton_bib/place.rb', line 26

def to_hash
  if uri || region
    hash = { "name" => name }
    hash["uri"] = uri if uri
    hash["region"] = region if region
    hash
  else
    name
  end
end

#to_xml(builder) ⇒ Object

Parameters:

  • builder (Nologiri::XML::Builder)


19
20
21
22
23
# File 'lib/relaton_bib/place.rb', line 19

def to_xml(builder)
  xml = builder.place name
  xml[:uri] = uri if uri
  xml[:region] = region if region
end