gutenberg_rdf 0.2.1 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
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.