saddle 0.0.26 → 0.0.27

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.
@@ -0,0 +1,29 @@
1
+ require 'airbrake'
2
+ require 'faraday'
3
+
4
+
5
+
6
+ module Saddle
7
+ module Middleware
8
+ module Logging
9
+
10
+ # Public: Log exceptions using the Rails logger
11
+ #
12
+ class RailsLogger < Faraday::Middleware
13
+
14
+ def call(env)
15
+ begin
16
+ @app.call(env)
17
+ rescue => e
18
+ if defined?(Rails.logger)
19
+ Rails.logger.error("#{env[:request][:saddle][:client].name} error: #{e}")
20
+ end
21
+ # Re-raise the error
22
+ raise
23
+ end
24
+ end
25
+
26
+ end
27
+ end
28
+ end
29
+ end
@@ -1,3 +1,3 @@
1
1
  module Saddle
2
- VERSION = '0.0.26'
2
+ VERSION = '0.0.27'
3
3
  end
@@ -0,0 +1,32 @@
1
+ require 'saddle'
2
+ require 'saddle/middleware/logging/rails'
3
+
4
+
5
+
6
+ describe Saddle::Middleware::Logging::RailsLogger do
7
+
8
+ context "test Rails logging middleware" do
9
+
10
+ it "with a request" do
11
+ class RailsClient < Saddle::Client
12
+ add_middleware({
13
+ :klass => Saddle::Middleware::Logging::RailsLogger,
14
+ })
15
+ end
16
+
17
+ client = RailsClient.create(
18
+ :stubs => Faraday::Adapter::Test::Stubs.new do |stub|
19
+ stub.get('/test') {
20
+ [
21
+ 200,
22
+ {},
23
+ 'Party on!',
24
+ ]
25
+ }
26
+ end
27
+ )
28
+ client.requester.get('/test').should == 'Party on!'
29
+ end
30
+
31
+ end
32
+ end
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: saddle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.26
4
+ version: 0.0.27
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Mike Lewis
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-06-17 00:00:00.000000000 Z
12
+ date: 2013-07-10 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: activesupport
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ! '>='
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ! '>='
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: faraday
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ~>
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ~>
39
44
  - !ruby/object:Gem::Version
@@ -41,6 +46,7 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: faraday_middleware
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - ~>
46
52
  - !ruby/object:Gem::Version
@@ -48,6 +54,7 @@ dependencies:
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - ~>
53
60
  - !ruby/object:Gem::Version
@@ -70,6 +77,7 @@ files:
70
77
  - lib/saddle/errors.rb
71
78
  - lib/saddle/method_tree_builder.rb
72
79
  - lib/saddle/middleware/logging/airbrake.rb
80
+ - lib/saddle/middleware/logging/rails.rb
73
81
  - lib/saddle/middleware/logging/statsd.rb
74
82
  - lib/saddle/middleware/request/encode_json.rb
75
83
  - lib/saddle/middleware/request/path_prefix.rb
@@ -82,43 +90,46 @@ files:
82
90
  - lib/saddle/requester.rb
83
91
  - lib/saddle/version.rb
84
92
  - saddle.gemspec
85
- - spec/middleware/airbrake_spec.rb
86
93
  - spec/middleware/instrumentation_spec.rb
87
- - spec/middleware/retry_spec.rb
88
- - spec/middleware/statsd_spec.rb
94
+ - spec/middleware/logging/airbrake_spec.rb
95
+ - spec/middleware/logging/rails_spec.rb
96
+ - spec/middleware/logging/statsd_spec.rb
97
+ - spec/middleware/request/retry_spec.rb
89
98
  - spec/multiple_spec.rb
90
99
  - spec/requester/get_spec.rb
91
100
  - spec/requester/post_spec.rb
92
101
  homepage: https://github.com/mLewisLogic/saddle
93
102
  licenses:
94
103
  - MIT
95
- metadata: {}
96
104
  post_install_message:
97
105
  rdoc_options: []
98
106
  require_paths:
99
107
  - lib
100
108
  required_ruby_version: !ruby/object:Gem::Requirement
109
+ none: false
101
110
  requirements:
102
111
  - - ! '>='
103
112
  - !ruby/object:Gem::Version
104
113
  version: '0'
105
114
  required_rubygems_version: !ruby/object:Gem::Requirement
115
+ none: false
106
116
  requirements:
107
117
  - - ! '>='
108
118
  - !ruby/object:Gem::Version
109
119
  version: '0'
110
120
  requirements: []
111
121
  rubyforge_project:
112
- rubygems_version: 2.0.3
122
+ rubygems_version: 1.8.25
113
123
  signing_key:
114
- specification_version: 4
124
+ specification_version: 3
115
125
  summary: A full-featured, generic consumer layer for you to build API client implementations
116
126
  with.
117
127
  test_files:
118
- - spec/middleware/airbrake_spec.rb
119
128
  - spec/middleware/instrumentation_spec.rb
120
- - spec/middleware/retry_spec.rb
121
- - spec/middleware/statsd_spec.rb
129
+ - spec/middleware/logging/airbrake_spec.rb
130
+ - spec/middleware/logging/rails_spec.rb
131
+ - spec/middleware/logging/statsd_spec.rb
132
+ - spec/middleware/request/retry_spec.rb
122
133
  - spec/multiple_spec.rb
123
134
  - spec/requester/get_spec.rb
124
135
  - spec/requester/post_spec.rb
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MjI5ZDhlYmRmZTVmNzFlZWQ2ZWM2MWFhZWFjNGM2Yjc1NWY0OTVkZQ==
5
- data.tar.gz: !binary |-
6
- ZGMyZDgzMGQyOGVlYWQ5MTY1YTljYmE4ZmE0NTgyNmU3OWI4ODMxMw==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- YWY5MmZhZWRiNDdmNDJlMDk2NWExNWZlN2ZlMjcxMjU4OWNlNjljYzEyMDdm
10
- NzZkZTQwYzhhNWMxZDg5MjdjMTA2ODhjNjdmY2Q0ZWVkNjEyOWJhZWZkZGU0
11
- MzE1Yzc2NjY5Yjc4YTViNTBjN2JlMDk1ZjJhYzhkZjU4NjI0NTA=
12
- data.tar.gz: !binary |-
13
- ODFlM2VhODY0NTBjZGFkZTA2MzgwOTAzZDQ4ZTQzNWFiNzJmNzM1YTY3NDdj
14
- YjYxYWI4OGE4ZWQ3ZjRhZWMwNGU0NWU4YzA3ZmY3NWY4NjUxMWIxZDM2NjA5
15
- MDQ5MDA5OWU4OGVhNWZlYTRlYzU1ODRkMjZjMTNkYWE4Y2ExNWY=