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

VERSION =
'1.0.0'

Class Method Summary collapse

Class Method Details

.connect(url) {|@conn| ... } ⇒ Object

Yields:

  • (@conn)


23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/json_roa/client.rb', line 23

def connect(url, &_block)
  @conn = Faraday.new(
    url: url,
    headers: { accept: 'application/json-roa+json' }) do |conn|
      conn.use ::JSON_ROA::Middleware
      conn.response :json, content_type: /\bjson$/
      conn.request :retry
      conn.use Faraday::Response::RaiseError
      conn.adapter Faraday.default_adapter
    end

  yield @conn if block_given?
  Relation.new @conn, 'root', 'href' => url
end