lib/gutenberg_rdf/rdf/agent.rb in gutenberg_rdf-0.0.2 vs lib/gutenberg_rdf/rdf/agent.rb in gutenberg_rdf-0.1.0
- old
+ new
@@ -6,11 +6,11 @@
def initialize(xml)
@xml = xml
end
def id
- xml.at_xpath('pgterms:agent').attribute('about').content.match(/\A\d\d\d\d\/agents\/(\d+)\z/)[1]
+ xml.elements['pgterms:agent'].attributes['about'].match(/\A\d\d\d\d\/agents\/(\d+)\z/)[1]
end
def fullname
[firstname, lastname].join(' ')
end
@@ -22,32 +22,32 @@
def firstname
@firstname ||= name_parts[:first]
end
def birthdate
- xml.at_xpath('pgterms:agent/pgterms:birthdate').text
+ xml.elements['pgterms:agent/pgterms:birthdate'].text
end
def deathdate
- xml.at_xpath('pgterms:agent/pgterms:deathdate').text
+ xml.elements['pgterms:agent/pgterms:deathdate'].text
end
def webpage
- xml.at_xpath('pgterms:agent/pgterms:webpage').attribute('resource').content
+ xml.elements['pgterms:agent/pgterms:webpage'].attributes['resource']
end
def aliases
entries = Array.new
- xml.xpath('//pgterms:alias').each do |name|
+ xml.elements.each('pgterms:agent/pgterms:alias') do |name|
entries << name.text
end
entries
end
private
def name_parts
- parts = xml.xpath('//pgterms:name').text.split(/, */)
+ parts = xml.elements['pgterms:agent/pgterms:name'].text.split(/, */)
last = parts.shift
first = parts.reverse.join(' ')
{first: first, last: last}
end