zoid 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: be2a5ab67b3e8e4659ba8f10fbb3e84c36605c57
4
- data.tar.gz: 1fb44606a91f464a6bdb64e855b6e8be30f575aa
3
+ metadata.gz: 78a8b8d4dca24858ec3a2f4b731622f40fafbe7b
4
+ data.tar.gz: 2ac2958de0e04adf0a7822584fd6d29a2cc47583
5
5
  SHA512:
6
- metadata.gz: 2098eb4aaa5debd2916c046e0d57b2b5d8d565204bd4abdd67030bde172c66943406a83c79b44e9b649ad93f0ae00036cc2010ff692ca30fcd9c984bf8c5069f
7
- data.tar.gz: 4fb80ccca5296992d595f867e7b9e20fa8cb174ac81fa98b5a539d1e2cc0d8bea926a4a08457b5ba33eac8c919699e7b9e43059f857de541ff4da0d5117d751d
6
+ metadata.gz: 049fca773682604d4c454b5e8e38f7c6abafa5d4af75018911a39162b9e267f15f7245770fcb0d209e977d0c905a1e65cee235740a3e3fb6134439cec989bdc1
7
+ data.tar.gz: 40f2d5efad678f35e5465dad77202b0f14cda7d47c104e7aa2aa1590a8644c6cd71523fed81f318e9ee83d8eb4ed307223b59f2505e0cf27ac8bab4e5ad4c622
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Zoid
1
+ # Zoid — Friendly JSON API consumer
2
2
 
3
- Friendly Json API consumer.
3
+ ![zoid](http://pre12.deviantart.net/81ba/th/pre/f/2013/022/e/1/why_not_zoidberg___by_claustrophobias-d5sbjw8.png)
4
4
 
5
5
  ## Usage
6
6
 
@@ -26,6 +26,18 @@ titles = closed_issues.map { |issue| issue.title }
26
26
  puts titles
27
27
  ```
28
28
 
29
+ ### Configuring the connection
30
+
31
+ Zoid agent uses Faraday to communicate with remote servers,
32
+ and it doesn't try to hide this fact. For example, you
33
+ can use your favorite faraday middlewares with Zoid
34
+
35
+ ``` rb
36
+ Zoid::Agent.new("https://api.github.com") do |faraday|
37
+ faraday.use FaradayMiddleware::OAuth2, 'TOKEN'
38
+ end
39
+ ```
40
+
29
41
  ## Installation
30
42
 
31
43
  Add this line to your application's Gemfile:
@@ -4,9 +4,11 @@ require "httpclient"
4
4
 
5
5
  module Zoid
6
6
  class Agent
7
- def initialize(url, options = {})
7
+ def initialize(url, options = {}, &connection_builder)
8
8
  @url = url
9
+
9
10
  @options = options
11
+ @builder = connection_builder
10
12
  end
11
13
 
12
14
  def get(path, params = {})
@@ -23,12 +25,18 @@ module Zoid
23
25
 
24
26
  private
25
27
 
26
- def connection
27
- @connection ||= Faraday.new(@options.merge(:url => @url)) do |builder|
28
+ def connection(&block)
29
+ @connection ||= Faraday.new(connection_options) do |builder|
28
30
  builder.response :json
29
31
 
32
+ @builder.call(builder) if @builder
33
+
30
34
  builder.adapter :httpclient
31
35
  end
32
36
  end
37
+
38
+ def connection_options
39
+ @options.merge(:url => @url)
40
+ end
33
41
  end
34
42
  end
@@ -1,3 +1,3 @@
1
1
  module Zoid
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.add_dependency "faraday", "~> 0.9"
23
23
  spec.add_dependency "faraday_middleware", "~> 0.9"
24
- spec.add_dependency "httpclient", "~> 0.1"
24
+ spec.add_dependency "httpclient", "~> 2.6"
25
25
 
26
26
  spec.add_development_dependency "bundler", "~> 1.9"
27
27
  spec.add_development_dependency "rake", "~> 10.0"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Sarcevic
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.1'
47
+ version: '2.6'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.1'
54
+ version: '2.6'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement