Module: JSON_ROA::Client
- Defined in:
- lib/json_roa/client.rb,
lib/json_roa/client/version.rb,
lib/json_roa/client/relation.rb,
lib/json_roa/client/resource.rb,
lib/json_roa/client/collection.rb
Defined Under Namespace
Classes: Collection, Relation, Resource
Constant Summary collapse
- DEFAULT_OPTIONS =
{ adapter: Faraday.default_adapter, raise_error: true, retry: true }
- VERSION =
'2.0.0'
Class Method Summary collapse
Class Method Details
.connect(url, options = {}) {|@conn| ... } ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/json_roa/client.rb', line 52 def connect(url, = {}, &_block) = DEFAULT_OPTIONS.merge() @conn = Faraday.new( url: url, headers: { accept: 'application/json-roa+json' }) do |conn| conn.use ::JSON_ROA::Middleware conn.response :json, content_type: /\bjson$/ if [:retry] conn.request :retry end if [:raise_error] conn.use Faraday::Response::RaiseError end if [:adapter] conn.adapter [:adapter] end end yield @conn if block_given? Relation.new @conn, 'root', 'href' => url end |