zendesk2 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -65,7 +65,7 @@ class Zendesk2::Client < Cistern::Service
65
65
  # response
66
66
  builder.use Faraday::Request::BasicAuthentication, @username, password
67
67
  builder.use Faraday::Response::RaiseError
68
- builder.use Faraday::Response::Logger, logger if logger
68
+ builder.use Zendesk2::Logger, logger if logger
69
69
  builder.response :json
70
70
 
71
71
  # request
@@ -1,13 +1,14 @@
1
1
  class Zendesk2::Error < StandardError
2
2
 
3
- attr_reader :message
4
- def initialize(exception)
5
- @exception = exception
6
- message = if exception.response
7
- "#{exception.response[:status]} #{exception.response[:body]}"
8
- else
9
- exception.inspect
10
- end
11
- super(message)
3
+ attr_reader :message, :wrapped_exception
4
+ def initialize(wrapped_exception)
5
+ @wrapped_exception = wrapped_exception
6
+ @message = if wrapped_exception.is_a?(Faraday::Error::ParsingError)
7
+ wrapped_exception.instance_variable_get(:@wrapped_exception).inspect
8
+ elsif wrapped_exception.is_a?(Faraday::Error::ClientError)
9
+ wrapped_exception.response.inspect
10
+ else
11
+ wrapped_exception.instance_variable_get(:@wrapped_exception).inspect
12
+ end
12
13
  end
13
14
  end
@@ -0,0 +1,34 @@
1
+ require 'forwardable'
2
+
3
+ class Zendesk2::Logger < Faraday::Response::Middleware
4
+ extend Forwardable
5
+
6
+ def initialize(app, logger = nil)
7
+ super(app)
8
+ @logger = logger || begin
9
+ require 'logger'
10
+ ::Logger.new(STDOUT)
11
+ end
12
+ end
13
+
14
+ def_delegators :@logger, :debug, :info, :warn, :error, :fatal
15
+
16
+ def call(env)
17
+ info "#{env[:method]} #{env[:url].to_s}"
18
+ debug('request') { dump_headers env[:request_headers] }
19
+ debug('request.body') { env[:body] }
20
+ super
21
+ end
22
+
23
+ def on_complete(env)
24
+ info('Status') { env[:status].to_s }
25
+ debug('response') { dump_headers env[:response_headers] }
26
+ debug('response.body') { env[:body] }
27
+ end
28
+
29
+ private
30
+
31
+ def dump_headers(headers)
32
+ headers.map { |k, v| "#{k}: #{v.inspect}" }.join("\n")
33
+ end
34
+ end
@@ -1,3 +1,3 @@
1
1
  module Zendesk2
2
- VERSION = "0.0.10"
2
+ VERSION = "0.0.11"
3
3
  end
data/lib/zendesk2.rb CHANGED
@@ -1,16 +1,19 @@
1
1
  require "zendesk2/version"
2
2
 
3
+ # dependencies
3
4
  require 'cistern'
4
5
  require 'addressable/uri'
5
6
  require 'faraday'
6
7
  require 'faraday_middleware'
7
8
 
9
+ # stdlib
8
10
  require 'time'
9
11
 
10
12
  module Zendesk2
11
- require 'zendesk2/error'
12
- autoload :Client, "zendesk2/client"
13
- autoload :PagedCollection, "zendesk2/paged_collection"
13
+ autoload :Error, 'zendesk2/error'
14
+ autoload :Client, 'zendesk2/client'
15
+ autoload :PagedCollection, 'zendesk2/paged_collection'
16
+ autoload :Logger, 'zendesk2/logger'
14
17
 
15
18
  def self.defaults
16
19
  @defaults ||= if File.exists?(File.expand_path("~/.zendesk2"))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zendesk2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
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: 2012-07-10 00:00:00.000000000 Z
12
+ date: 2012-07-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cistern
@@ -120,6 +120,7 @@ files:
120
120
  - lib/zendesk2/client/requests/update_ticket.rb
121
121
  - lib/zendesk2/client/requests/update_user.rb
122
122
  - lib/zendesk2/error.rb
123
+ - lib/zendesk2/logger.rb
123
124
  - lib/zendesk2/paged_collection.rb
124
125
  - lib/zendesk2/version.rb
125
126
  - spec/organizations_spec.rb