Sha256: 52f7cb5360d7e5e7f6c32a7e4beb36de0101ac636d3d30ba7e30565c507d20b5

Contents?: true

Size: 1.15 KB

Versions: 52

Compression:

Stored size: 1.15 KB

Contents

module RelatonBib
  class Place
    # @return [String]
    attr_reader :name

    # @return [String, NilClass]
    attr_reader :uri, :region

    # @param name [String]
    # @param uri [String, NilClass]
    # @param region [String, NilClass]
    def initialize(name:, uri: nil, region: nil)
      @name   = name
      @uri    = uri
      @region = region
    end

    # @param builder [Nologiri::XML::Builder]
    def to_xml(builder)
      xml = builder.place name
      xml[:uri] = uri if uri
      xml[:region] = region if region
    end

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

    # @param prefix [String]
    # @param count [Integer] number of places
    # @return [Stirng]
    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
  end
end

Version data entries

52 entries across 52 versions & 1 rubygems

Version Path
relaton-bib-1.11.1 lib/relaton_bib/place.rb
relaton-bib-1.11.0 lib/relaton_bib/place.rb
relaton-bib-1.10.7 lib/relaton_bib/place.rb
relaton-bib-1.10.6 lib/relaton_bib/place.rb
relaton-bib-1.10.5 lib/relaton_bib/place.rb
relaton-bib-1.10.4 lib/relaton_bib/place.rb
relaton-bib-1.10.3 lib/relaton_bib/place.rb
relaton-bib-1.10.2 lib/relaton_bib/place.rb
relaton-bib-1.10.1 lib/relaton_bib/place.rb
relaton-bib-1.10.0 lib/relaton_bib/place.rb
relaton-bib-1.9.23 lib/relaton_bib/place.rb
relaton-bib-1.9.22 lib/relaton_bib/place.rb
relaton-bib-1.9.21 lib/relaton_bib/place.rb
relaton-bib-1.9.20 lib/relaton_bib/place.rb
relaton-bib-1.9.19 lib/relaton_bib/place.rb
relaton-bib-1.9.18 lib/relaton_bib/place.rb
relaton-bib-1.9.17 lib/relaton_bib/place.rb
relaton-bib-1.9.16 lib/relaton_bib/place.rb
relaton-bib-1.9.15 lib/relaton_bib/place.rb
relaton-bib-1.9.14 lib/relaton_bib/place.rb