Elessar Ruby Library
Elessar - In the book, Elessar is a green gemstone that is a symbol of the kingship of Gondor.
The Elessar Ruby library provides convenient access to the The Lord of the Rings API from applications written in the Ruby language.
Documentation
See the The Lord of the Rings API docs.
Installation
You don't need this source code unless you want to modify the gem. If you just want to use the package, just run:
gem install elessar
If you want to build the gem from source:
gem build elessar.gemspec
Requirements
- Ruby 2.3+.
Bundler
If you are installing via bundler, you should be sure to use the https rubygems source in your Gemfile, as any gems fetched over http could potentially be compromised in transit and alter the code of gems fetched securely over https:
gem 'elessar'
Usage
The library needs to be configured with your account's secret key which is
available in your The Lord of the Rings Account. Set Elessar.api_key to its
value:
require 'elessar'
Elessar.api_key = 'aR9j-...'
# list movies
Elessar::Movie.list()
# retrieve single movie
movie = Elessar::Movie.retrieve('5cd95395de30eff6ebccde5b')
# list quotes
movie.list_quotes()
Params
# using params as hash
Elessar::Movie.list({limit: 3, page: 2})
# using params as string
Elessar::Movie.list("budgetInMillions<100")
Configuring Automatic Retries
You can enable automatic retries on requests that fail due to a transient problem by configuring the maximum number of retries:
Elessar.max_network_retries = 2
Various errors can trigger a retry, like a connection error or a timeout, and
also certain API responses like HTTP status 409 Conflict.
Configuring Timeouts
Open, read timeouts are configurable:
Elessar.open_timeout = 30 # in seconds
Elessar.read_timeout = 80
Development
Instructions to run tests:
bundle install
Run all tests:
bundle exec ruby test/run_test.rb
Run a single test:
bundle exec ruby test/elessar_test.rb