Sawyer is an experimental secret user agent built on top of
Think of Faraday as the nerdy scientist behind an HTTP API. Sure, he knows the technical details of how to communicate with an application. But he also gets overly obsessive about alternate timelines to be of much use.
Sawyer knows what needs to be done. He gets in there, assesses the situation, and figures out the next action.
Sawyer alternatives and similar gems
Based on the "HTTP" category
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of Sawyer or a related project?
Sawyer is an experimental hypermedia agent for Ruby built on top of Faraday.
Add this line to your application's Gemfile:
And then execute:
Or install it yourself as:
gem install sawyer
require "sawyer" # Create a Sawyer agent agent = Sawyer::Agent.new("https://api.github.com", links_parser: Sawyer::LinkParsers::Simple.new) # Fetch the root of the API root = agent.root.data # Access a resource directly contributors = agent.call(:get, "repos/lostisland/sawyer/contributors").data # Load a hypermedia relation top_contributor = contributors.first followers = top_contributor.rels[:followers].get.data
For more information, check out the documentation.
After checking out the repo, run
script/test to bootstrap the project and run the tests.
You can also run
script/console for an interactive prompt that will allow you to experiment.
To package the gem, run
script/package. To release a new version, update the version number in [
lib/sawyer.rb](lib/sawyer.rb), and then run
script/release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
Check out the [contributing guide](CONTRIBUTING.md) for more information on contributing.
The gem is available as open source under the terms of the MIT License.
*Note that all licence references and agreements mentioned in the Sawyer README section above are relevant to that project's source code only.