Module: Classifoclc
- Defined in:
- lib/classifoclc.rb,
lib/classifoclc/work.rb,
lib/classifoclc/author.rb,
lib/classifoclc/errors.rb,
lib/classifoclc/edition.rb,
lib/classifoclc/version.rb,
lib/classifoclc/constants.rb,
lib/classifoclc/recommendations.rb
Overview
Interface to OCLC’s Classify service, “a FRBR-based prototype designed to support the assignment of classification numbers and subject headings for books, DVDs, CDs, and other types of materials.”
Defined Under Namespace
Modules: Id, Order, OrderBy Classes: Author, BadIdentifierError, BadIdentifierFormatError, Edition, InfiniteLoopError, Recommendations, UnexpectedError, Work
Constant Summary collapse
- VERSION =
"1.0.0"
- URL =
"http://classify.oclc.org/classify2/Classify?%s"
- @@maxRecs =
Number of records returned per request
25
Class Method Summary collapse
-
.author(auth, hsh = {}) ⇒ Enumerator<Classifoclc::Work>
Find works by author.
-
.authorAndTitle(author, title, hsh = {}) ⇒ Enumerator<Classifoclc::Work>
Find works by author and title.
-
.fast(ident, hsh = {}) ⇒ Enumerator<Classifoclc::Work>
Find works by FAST subject heading.
- .fetch_data(hsh) ⇒ Object
-
.isbn(isbn, hsh = {}) ⇒ Enumerator<Classifoclc::Work>
Find works by ISBN number.
-
.lccn(lccn, hsh = {}) ⇒ Enumerator<Classifoclc::Work>
Find works by Library of Congress Control Number.
- .maxRecs ⇒ Object
- .maxRecs=(m) ⇒ Object
-
.oclc(oclc, hsh = {}) ⇒ Enumerator<Classifoclc::Work>
Find works by OCLC number.
-
.owi(owi, hsh = {}) ⇒ Enumerator<Classifoclc::Work>
Find works by OCLC work ID.
-
.title(title, hsh = {}) ⇒ Enumerator<Classifoclc::Work>
Find works by title.
Class Method Details
.author(auth, hsh = {}) ⇒ Enumerator<Classifoclc::Work>
Find works by author
73 74 75 |
# File 'lib/classifoclc.rb', line 73 def self.(auth, hsh = {}) lookup((hsh, {:identifier => Id::AUTHOR, :value => auth})) end |
.authorAndTitle(author, title, hsh = {}) ⇒ Enumerator<Classifoclc::Work>
Find works by author and title
90 91 92 |
# File 'lib/classifoclc.rb', line 90 def self.(, title, hsh = {}) lookup((hsh, {:identifier => [Id::AUTHOR, Id::TITLE], :value => [, title], :summary => false})) end |
.fast(ident, hsh = {}) ⇒ Enumerator<Classifoclc::Work>
Find works by FAST subject heading
99 100 101 |
# File 'lib/classifoclc.rb', line 99 def self.fast(ident, hsh = {}) lookup((hsh, {:identifier => Id::IDENT, :value => ident})) end |
.fetch_data(hsh) ⇒ Object
196 197 198 199 200 |
# File 'lib/classifoclc.rb', line 196 def self.fetch_data(hsh) resp = open(URL % param_string(hsh.clone), "User-Agent" => "Classifoclc/#{Classifoclc::VERSION}",).read parsed = Nokogiri::XML(resp) return parsed end |
.isbn(isbn, hsh = {}) ⇒ Enumerator<Classifoclc::Work>
Find works by ISBN number
41 42 43 |
# File 'lib/classifoclc.rb', line 41 def self.isbn(isbn, hsh = {}) lookup((hsh, {:identifier => Id::ISBN, :value => isbn})) end |
.lccn(lccn, hsh = {}) ⇒ Enumerator<Classifoclc::Work>
Find works by Library of Congress Control Number
65 66 67 |
# File 'lib/classifoclc.rb', line 65 def self.lccn(lccn, hsh = {}) lookup((hsh, {:identifier => Id::LCCN, :value => lccn})) end |
.maxRecs ⇒ Numeric .maxRecs=(value) ⇒ Numeric
29 30 31 |
# File 'lib/classifoclc.rb', line 29 def self.maxRecs @@maxRecs end |
.maxRecs=(m) ⇒ Object
33 34 35 |
# File 'lib/classifoclc.rb', line 33 def self.maxRecs= m @@maxRecs = m end |
.oclc(oclc, hsh = {}) ⇒ Enumerator<Classifoclc::Work>
Find works by OCLC number
57 58 59 |
# File 'lib/classifoclc.rb', line 57 def self.oclc(oclc, hsh = {}) lookup((hsh, {:identifier => Id::OCLC, :value => oclc})) end |
.owi(owi, hsh = {}) ⇒ Enumerator<Classifoclc::Work>
Find works by OCLC work ID
49 50 51 |
# File 'lib/classifoclc.rb', line 49 def self.owi(owi, hsh = {}) lookup((hsh, {:identifier => Id::OWI, :value => owi, :summary => false})) end |
.title(title, hsh = {}) ⇒ Enumerator<Classifoclc::Work>
Find works by title
81 82 83 |
# File 'lib/classifoclc.rb', line 81 def self.title(title, hsh = {}) lookup((hsh, {:identifier => Id::TITLE, :value => title})) end |