Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anthonator/ar-book-finder
https://github.com/anthonator/ar-book-finder
Last synced: 17 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/anthonator/ar-book-finder
- Owner: anthonator
- License: mit
- Created: 2013-10-21T03:54:15.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2013-10-29T23:53:08.000Z (about 11 years ago)
- Last Synced: 2024-10-12T03:53:02.810Z (about 1 month ago)
- Language: Ruby
- Size: 207 KB
- Stars: 6
- Watchers: 6
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# ARBookFinder
Retrieve book data from [arbookfind.com](http://www.arbookfind.com)
[![Gem Version](https://badge.fury.io/rb/ar_book_finder.png)](http://badge.fury.io/rb/ar_book_finder) [![Build Status](https://travis-ci.org/anthonator/ar-book-finder.png?branch=master)](https://travis-ci.org/anthonator/ar-book-finder) [![Dependency Status](https://gemnasium.com/anthonator/ar-book-finder.png)](https://gemnasium.com/anthonator/ar-book-finder) [![Coverage Status](https://coveralls.io/repos/anthonator/ar-book-finder/badge.png)](https://coveralls.io/r/anthonator/ar-book-finder) [![Code Climate](https://codeclimate.com/github/anthonator/ar-book-finder.png)](https://codeclimate.com/github/anthonator/ar-book-finder)
## Installation
Add this line to your application's Gemfile:
gem 'ar_book_finder'
And then execute:
$ bundle
Or install it yourself as:
$ gem install ar_book_finder
### PhantomJS
This gem utilizes [PhantomJS](http://phantomjs.org/) for interacting with [arbookfind.com](http://www.arbookfind.com). Make sure to [install PhantomJS](http://phantomjs.org/download.html) in order to use this gem.## Configuration
Choose what type of user to peform searches as.Available types include:
* ```:student```
* ```:parent```
* ```:teacher```
* ```:librarian```These types match up to the available user types [here](http://www.arbookfind.com/usertype.aspx).
```ruby
ARBookFinder.configure do |config|
config.user_type = :teacher
end
```## What data is returned?
The ARBookFinder gem is capable or returning any data located on a book's [detail](http://www.arbookfind.com/bookdetail.aspx?q=26759&l=EN&slid=431859594) page.This includes:
* cover
* title
* author
* summary
* ar_quiz_number
* language
* ar_quiz_availability
* atos_book_level
* interest_level
* ar_points
* rating
* word_count
* type
* topics
* series
* url
And publisher details:
* name
* lccn
* isbn
* year_published
* page_count## Usage
### Quick Search
Quick search will allow you to perform searches based on title, topics, author or ISBN.Perform a quick search...
```ruby
results = ARBookFinder.search('harry potter')
results.page_count # Retrieve the number of pages this search returns
results.books # Retrieve the books returned on this page
```
Load book data on demand using ```#fetch```...
``` ruby
...
book = results.book[0]
book.fetch # Retrieve book data
book.title
book.author
...
```
Return publisher data...
```ruby
...
publisher = book.publishers[0]
publisher.name
publisher.isbn
...
```### Collections
Collections will retrieve books lists. Examples include awards, state lists, etc.Retrieve a collection...
```ruby
results = ARBookFinder.collection({ 'Awards' => 'ALA Notable/Best Books' })
```Retrieve a collection with a multi-level hash...
```ruby
results = ARBookFinder.collection({ 'State Lists' => { 'Indiana' => 'IN Young Hoosier Middle Grades Book Award Nominees 2013-2014' } })
```### Pagination
It's also possible to paginate search results.
```ruby
# Retrieve results for page 2
results = ARBookFinder.search('harry potter', 2)
results.current_page # should == 2
```## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request## Credits
[![Sticksnleaves](http://sticksnleaves-wordpress.herokuapp.com/wp-content/themes/sticksnleaves/images/snl-logo-116x116.png)](http://www.sticksnleaves.com)ARBookFinder is maintained and funded by [Sticksnleaves](http://www.sticksnleaves.com)
Thanks to all of our [contributors](https://github.com/anthonator/ar-book-finder/graphs/contributors)