Description
Sawyer is an experimental secret user agent built on top of
Faraday.
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.
Alternatively, view Sawyer alternatives based on common mentions on social networks and blogs.
-
Faraday
Simple, but flexible HTTP client library, with support for multiple backends. -
RESTClient
Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions. -
Typhoeus
Typhoeus wraps libcurl in order to make fast and reliable requests. -
HTTP
HTTP (The Gem! a.k.a. http.rb) - a fast Ruby HTTP client with a chainable API, streaming support, and timeouts -
Http Client
'httpclient' gives something like the functionality of libwww-perl (LWP) in Ruby. -
Net
Net::HTTP provides a rich library which can be used to build HTTP user-agents. -
Accept Language
Ruby parser for Accept-Language request HTTP header ๐
Static code analysis for 29 languages.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Sawyer or a related project?
Popular Comparisons
README
Sawyer
Sawyer is an experimental hypermedia agent for Ruby built on top of Faraday.
Installation
Add this line to your application's Gemfile:
gem 'sawyer'
And then execute:
bundle
Or install it yourself as:
gem install sawyer
Usage
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.
Development
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.
Contributing
Check out the [contributing guide](CONTRIBUTING.md) for more information on contributing.
License
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.