gutenberg_rdf 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 541a22ec14bf66080b5795db4d5d86ee62db04a2
4
- data.tar.gz: 7c115cfce05f53427bba5363087b435a0bf1ddfc
3
+ metadata.gz: 085a4adadf222928edc61b7660ae01c77f519682
4
+ data.tar.gz: 374a75dfb36da499bf3657775630ebda8ace5e64
5
5
  SHA512:
6
- metadata.gz: a68d926ca0bc5dd8904e29dd191ecd5b78b96f9d34bd101ca3ff1f5d84ac0f423a7d6b14bb3565237013da27cc2e7d0f255206113b4fdd399bea2e49fdfa40e6
7
- data.tar.gz: 7b338342891dfe1b89ffc1f23ee5e7739e6dc1a7a07d982217208eb4cc6ff4e64a5a3619fff27fce11d7bd6008621f1a92644d6e8b427abe8b2a8d4683834536
6
+ metadata.gz: 3b19af4c7c7f1b58b10adff65dd47d43900248966fd155cd1e76bd4e4879660148ea4d1dfba136ab0403ae049311241ade185056a8fa91b7ea5ebb737900c82d
7
+ data.tar.gz: 2485ba29c8f3e31f17004366e9fe3cc0f3c76453d793ec55db7c5cbbbc7dafdd804e01b2196fc31479004fd9e5726a6c83809ea034d5875cd52bc754d7d63ca7
@@ -87,7 +87,7 @@ module GutenbergRdf
87
87
  def extract_authors
88
88
  entries = Array.new
89
89
  xml.elements.each('pgterms:agent') do |agent|
90
- entries << Agent.new(agent.root)
90
+ entries << Agent.new(agent)
91
91
  end
92
92
  entries
93
93
  end
@@ -7,12 +7,16 @@ module GutenbergRdf
7
7
  @xml = xml
8
8
  end
9
9
 
10
+ def to_s
11
+ fullname
12
+ end
13
+
10
14
  def id
11
- xml.elements['pgterms:agent'].attributes['about'].match(/\A\d\d\d\d\/agents\/(\d+)\z/)[1]
15
+ xml.attributes['about'].match(/\A\d\d\d\d\/agents\/(\d+)\z/)[1]
12
16
  end
13
17
 
14
18
  def fullname
15
- [firstname, lastname].join(' ')
19
+ [firstname, lastname].reject(&:empty?).join(' ')
16
20
  end
17
21
 
18
22
  def lastname
@@ -24,20 +28,20 @@ module GutenbergRdf
24
28
  end
25
29
 
26
30
  def birthdate
27
- xml.elements['pgterms:agent/pgterms:birthdate'].text
31
+ xml.elements['pgterms:birthdate'].text
28
32
  end
29
33
 
30
34
  def deathdate
31
- xml.elements['pgterms:agent/pgterms:deathdate'].text
35
+ xml.elements['pgterms:deathdate'].text
32
36
  end
33
37
 
34
38
  def webpage
35
- xml.elements['pgterms:agent/pgterms:webpage'].attributes['resource']
39
+ xml.elements['pgterms:webpage'].attributes['resource']
36
40
  end
37
41
 
38
42
  def aliases
39
43
  entries = Array.new
40
- xml.elements.each('pgterms:agent/pgterms:alias') do |name|
44
+ xml.elements.each('pgterms:alias') do |name|
41
45
  entries << name.text
42
46
  end
43
47
  entries
@@ -46,7 +50,7 @@ module GutenbergRdf
46
50
  private
47
51
 
48
52
  def name_parts
49
- parts = xml.elements['pgterms:agent/pgterms:name'].text.split(/, */)
53
+ parts = xml.elements['pgterms:name'].text.split(/, */)
50
54
  last = parts.shift
51
55
  first = parts.reverse.join(' ')
52
56
 
@@ -1,3 +1,3 @@
1
1
  module GutenbergRdf
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.3"
3
3
  end
@@ -14,8 +14,7 @@ module GutenbergRdf
14
14
  <pgterms:webpage rdf:resource="http://en.wikipedia.org/wiki/Jon_James_Doe"/>
15
15
  </pgterms:agent>
16
16
  </rdf:RDF>'
17
- rdf = REXML::Document.new(xml)
18
- Agent.new(rdf.root)
17
+ Agent.new(REXML::Document.new(xml).root.elements['pgterms:agent'])
19
18
  end
20
19
 
21
20
  it "expects an agent ID" do
@@ -34,6 +33,10 @@ module GutenbergRdf
34
33
  expect(agent.fullname).to eql 'Jon James Doe'
35
34
  end
36
35
 
36
+ it "returns the #fullname when to_s is called" do
37
+ expect(agent.to_s).to eql 'Jon James Doe'
38
+ end
39
+
37
40
  it "expects a birth date" do
38
41
  expect(agent.birthdate).to eql '1830'
39
42
  end
@@ -58,8 +61,7 @@ module GutenbergRdf
58
61
  <pgterms:name>Dato</pgterms:name>
59
62
  </pgterms:agent>
60
63
  </rdf:RDF>'
61
- rdf = REXML::Document.new(xml)
62
- Agent.new(rdf.root)
64
+ Agent.new(REXML::Document.new(xml).root.elements['pgterms:agent'])
63
65
  end
64
66
 
65
67
  it "expects it to be assigned to the last name" do
@@ -77,8 +79,7 @@ module GutenbergRdf
77
79
  <pgterms:name>Doe, Jon, Sir</pgterms:name>
78
80
  </pgterms:agent>
79
81
  </rdf:RDF>'
80
- rdf = REXML::Document.new(xml)
81
- Agent.new(rdf.root)
82
+ Agent.new(REXML::Document.new(xml).root.elements['pgterms:agent'])
82
83
  end
83
84
 
84
85
  it "expects the correct name order" do
@@ -94,8 +95,7 @@ module GutenbergRdf
94
95
  <pgterms:name>Doe, J. J. (Jon James)</pgterms:name>
95
96
  </pgterms:agent>
96
97
  </rdf:RDF>'
97
- rdf = REXML::Document.new(xml)
98
- Agent.new(rdf.root)
98
+ Agent.new(REXML::Document.new(xml).root.elements['pgterms:agent'])
99
99
  end
100
100
 
101
101
  it "expects initials to replaced by name in brackets" do
@@ -158,15 +158,16 @@ module GutenbergRdf
158
158
  end
159
159
  let(:rdf) { Rdf.new(REXML::Document.new(xml)) }
160
160
 
161
- it "expects a Array" do
162
- expect(rdf.authors.class).to be Array
163
- end
164
- it "expects correct number to be returned" do
161
+ it "returns the correct number of authors" do
165
162
  expect(rdf.authors.count).to be 2
166
163
  end
167
164
  it "expects an author object" do
168
165
  expect(rdf.authors.first.class).to be Rdf::Agent
169
166
  end
167
+ it "has the correct author names" do
168
+ expect(rdf.authors.first.fullname).to eq 'Mary Mapes Dodge'
169
+ expect(rdf.authors.last.fullname).to eq 'Various'
170
+ end
170
171
  end
171
172
 
172
173
  describe "#subjects" do
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gutenberg_rdf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Cook
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-19 00:00:00.000000000 Z
11
+ date: 2014-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 2.14.1
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.14.1
27
27
  description: A Ruby wrapper for the Project Gutenberg RDF catalog files (requires
@@ -32,8 +32,8 @@ executables: []
32
32
  extensions: []
33
33
  extra_rdoc_files: []
34
34
  files:
35
- - .gitignore
36
- - .rspec
35
+ - ".gitignore"
36
+ - ".rspec"
37
37
  - Gemfile
38
38
  - LICENSE.txt
39
39
  - README.md
@@ -59,17 +59,17 @@ require_paths:
59
59
  - lib
60
60
  required_ruby_version: !ruby/object:Gem::Requirement
61
61
  requirements:
62
- - - '>='
62
+ - - ">="
63
63
  - !ruby/object:Gem::Version
64
64
  version: 2.0.0
65
65
  required_rubygems_version: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - '>='
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  requirements: []
71
71
  rubyforge_project:
72
- rubygems_version: 2.0.6
72
+ rubygems_version: 2.2.1
73
73
  signing_key:
74
74
  specification_version: 4
75
75
  summary: A Ruby wrapper for the Project Gutenberg RDF catalog files.