sawyer 0.0.9 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/sawyer/agent.rb CHANGED
@@ -29,9 +29,13 @@ module Sawyer
29
29
  #
30
30
  # endpoint - String URI of the API entry point.
31
31
  # options - Hash of options.
32
- # :faraday - Optional Faraday::Connection to use.
33
- # :serializer - Optional serializer Class. Defaults to
34
- # self.serializer_class.
32
+ # :allow_undefined_methods - Allow relations to call all the HTTP verbs,
33
+ # not just the ones defined.
34
+ # :faraday - Optional Faraday::Connection to use.
35
+ # :links_parser - Optional parser to parse link relations
36
+ # Defaults: Sawyer::LinkParsers::Hal.new
37
+ # :serializer - Optional serializer Class. Defaults to
38
+ # self.serializer_class.
35
39
  #
36
40
  # Yields the Faraday::Connection if a block is given.
37
41
  def initialize(endpoint, options = nil)
@@ -97,10 +101,8 @@ module Sawyer
97
101
  end
98
102
  started = Time.now
99
103
  end
100
- res.env[:sawyer_started] = started
101
- res.env[:sawyer_ended] = Time.now
102
104
 
103
- Response.new self, res
105
+ Response.new self, res, :sawyer_started => started, :sawyer_ended => Time.now
104
106
  end
105
107
 
106
108
  # Encodes an object to a string for the API request.
@@ -10,13 +10,15 @@ module Sawyer
10
10
  #
11
11
  # agent - The Sawyer::Agent that is managing the API connection.
12
12
  # res - A Faraday::Response.
13
- def initialize(agent, res)
13
+ def initialize(agent, res, options = {})
14
14
  @agent = agent
15
15
  @status = res.status
16
16
  @headers = res.headers
17
17
  @env = res.env
18
18
  @data = @headers[:content_type] =~ /json|msgpack/ ? process_data(@agent.decode_body(res.body)) : res.body
19
19
  @rels = process_rels
20
+ @started = options[:sawyer_started]
21
+ @ended = options[:sawyer_ended]
20
22
  end
21
23
 
22
24
  # Turns parsed contents from an API response into a Resource or
@@ -48,11 +50,11 @@ module Sawyer
48
50
  end
49
51
 
50
52
  def timing
51
- @timing ||= @env[:sawyer_ended] - @env[:sawyer_started]
53
+ @timing ||= @ended - @started
52
54
  end
53
55
 
54
56
  def time
55
- @env[:sawyer_ended]
57
+ @ended
56
58
  end
57
59
 
58
60
  def inspect
data/lib/sawyer.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Sawyer
2
- VERSION = "0.0.9"
2
+ VERSION = "0.1.0"
3
3
 
4
4
  class Error < StandardError; end
5
5
  end
data/sawyer.gemspec CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
17
17
  spec.homepage = 'https://github.com/lostisland/sawyer'
18
18
  spec.licenses = ['MIT']
19
19
 
20
- spec.add_dependency 'faraday', ['~> 0.8.4']
20
+ spec.add_dependency 'faraday', ['~> 0.9.rc5']
21
21
  spec.add_dependency 'uri_template', ['~> 0.5.0']
22
22
 
23
23
  spec.files = %w(Gemfile LICENSE.md README.md Rakefile)
data/test/helper.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'test/unit'
2
2
  require File.expand_path('../../lib/sawyer', __FILE__)
3
-
3
+ require 'faraday/autoload'
4
4
  class Sawyer::TestCase < Test::Unit::TestCase
5
5
  def default_test
6
6
  end
@@ -104,7 +104,7 @@ module Sawyer
104
104
  end
105
105
 
106
106
  def test_relation_api_calls_with_uri_tempate
107
- agent = Sawyer::Agent.new "http://foo.com/a/" do |conn|
107
+ agent = Sawyer::Agent.new "http://foo.com/a" do |conn|
108
108
  conn.builder.handlers.delete(Faraday::Adapter::NetHttp)
109
109
  conn.adapter :test do |stubs|
110
110
  stubs.get '/octocat/hello' do |env|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sawyer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-18 00:00:00.000000000 Z
12
+ date: 2013-06-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 0.8.4
21
+ version: 0.9.rc5
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: 0.8.4
29
+ version: 0.9.rc5
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: uri_template
32
32
  requirement: !ruby/object:Gem::Requirement