xisbn 0.0.1

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.
@@ -0,0 +1,2 @@
1
+ This is a Subversion working copy administrative directory.
2
+ Visit http://subversion.tigris.org/ for more information.
@@ -0,0 +1,5 @@
1
+ K 25
2
+ svn:wc:ra_dav:version-url
3
+ V 33
4
+ /svn/!svn/ver/372/xisbn/trunk/lib
5
+ END
File without changes
data/lib/.svn/entries ADDED
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <wc-entries
3
+ xmlns="svn:">
4
+ <entry
5
+ committed-rev="372"
6
+ name=""
7
+ committed-date="2006-02-28T06:34:26.176837Z"
8
+ url="http://www.textualize.com/svn/xisbn/trunk/lib"
9
+ last-author="ed"
10
+ kind="dir"
11
+ uuid="4dc5e89f-90f6-0310-ab54-a6a856e7c30e"
12
+ revision="372"/>
13
+ <entry
14
+ committed-rev="372"
15
+ name="xisbn.rb"
16
+ text-time="2006-02-28T15:20:47.000000Z"
17
+ committed-date="2006-02-28T06:34:26.176837Z"
18
+ checksum="2b6d73e6e65a5c3ab351fe1b4040693e"
19
+ last-author="ed"
20
+ kind="file"
21
+ prop-time="2006-02-28T15:20:47.000000Z"/>
22
+ </wc-entries>
data/lib/.svn/format ADDED
@@ -0,0 +1 @@
1
+ 4
@@ -0,0 +1 @@
1
+ END
@@ -0,0 +1 @@
1
+ END
@@ -0,0 +1,18 @@
1
+ require 'net/http'
2
+ require 'rexml/document'
3
+
4
+ # pass in an ISBN and get back a list of related isbns
5
+ # as defined by the OCLC xisbn webservice at
6
+ # http://www.oclc.org/research/projects/xisbn/
7
+
8
+ def xisbn(isbn)
9
+ clean_isbn = isbn.gsub(/[^0-9X]/,'')
10
+
11
+ xml = Net::HTTP.get('labs.oclc.org', "/xisbn/#{clean_isbn}")
12
+ doc = REXML::Document.new(xml)
13
+
14
+ isbns = []
15
+ doc.elements.each('idlist/isbn') {|e| isbns << e.text}
16
+
17
+ return isbns
18
+ end
@@ -0,0 +1,5 @@
1
+ K 25
2
+ svn:wc:ra_dav:version-url
3
+ V 42
4
+ /svn/!svn/ver/372/xisbn/trunk/lib/xisbn.rb
5
+ END
data/lib/xisbn.rb ADDED
@@ -0,0 +1,18 @@
1
+ require 'net/http'
2
+ require 'rexml/document'
3
+
4
+ # pass in an ISBN and get back a list of related isbns
5
+ # as defined by the OCLC xisbn webservice at
6
+ # http://www.oclc.org/research/projects/xisbn/
7
+
8
+ def xisbn(isbn)
9
+ clean_isbn = isbn.gsub(/[^0-9X]/,'')
10
+
11
+ xml = Net::HTTP.get('labs.oclc.org', "/xisbn/#{clean_isbn}")
12
+ doc = REXML::Document.new(xml)
13
+
14
+ isbns = []
15
+ doc.elements.each('idlist/isbn') {|e| isbns << e.text}
16
+
17
+ return isbns
18
+ end
data/test.rb ADDED
@@ -0,0 +1,23 @@
1
+ $LOAD_PATH.unshift 'lib'
2
+
3
+ require 'test/unit'
4
+ require 'xisbn'
5
+
6
+ class XISBNTest < Test::Unit::TestCase
7
+
8
+ def test_lookup
9
+ isbns = xisbn('0192816640')
10
+ assert isbns.length > 0
11
+ end
12
+
13
+ def test_lookup_with_dashes
14
+ isbns = xisbn('01928-16-640')
15
+ assert isbns.length > 0
16
+ end
17
+
18
+ def test_bad_lookup
19
+ isbns = xisbn('foobar')
20
+ assert isbns.length == 0
21
+ end
22
+
23
+ end
metadata ADDED
@@ -0,0 +1,58 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.8.11
3
+ specification_version: 1
4
+ name: xisbn
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.0.1
7
+ date: 2006-02-28 00:00:00.000000 -06:00
8
+ summary: look up related isbns with OCLCs xisbn service
9
+ require_paths:
10
+ - lib
11
+ email: ehs@pobox.com
12
+ homepage: http://www.textualize.com/xisbn
13
+ rubyforge_project:
14
+ description:
15
+ autorequire: xisbn
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: true
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ -
22
+ - ">"
23
+ - !ruby/object:Gem::Version
24
+ version: 0.0.0
25
+ version:
26
+ platform: ruby
27
+ signing_key:
28
+ cert_chain:
29
+ authors:
30
+ - Ed Summers
31
+ files:
32
+ - lib/xisbn.rb
33
+ - lib/.svn/dir-wcprops
34
+ - lib/.svn/empty-file
35
+ - lib/.svn/entries
36
+ - lib/.svn/format
37
+ - lib/.svn/prop-base
38
+ - lib/.svn/props
39
+ - lib/.svn/README.txt
40
+ - lib/.svn/text-base
41
+ - lib/.svn/tmp
42
+ - lib/.svn/wcprops
43
+ - lib/.svn/prop-base/xisbn.rb.svn-base
44
+ - lib/.svn/props/xisbn.rb.svn-work
45
+ - lib/.svn/text-base/xisbn.rb.svn-base
46
+ - lib/.svn/tmp/prop-base
47
+ - lib/.svn/tmp/props
48
+ - lib/.svn/tmp/text-base
49
+ - lib/.svn/tmp/wcprops
50
+ - lib/.svn/wcprops/xisbn.rb.svn-work
51
+ test_files:
52
+ - test.rb
53
+ rdoc_options: []
54
+ extra_rdoc_files: []
55
+ executables: []
56
+ extensions: []
57
+ requirements: []
58
+ dependencies: []