zendesk2 0.0.10 → 0.0.11

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.
@@ -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