apipie-bindings 0.0.8 → 0.0.9

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: 599291a9b42deb0d3ddd3a6f796b457f3a68e130
4
- data.tar.gz: 09647fa549f97f8f9ad33752ef03575623d79c9c
3
+ metadata.gz: 9e2b6c74e6f5eabc3b2c279de947f3d8249fd978
4
+ data.tar.gz: bac12a5d7f2d0c2bf25ca97fc1430c5767dd3aba
5
5
  SHA512:
6
- metadata.gz: 584534611a2c0abc81f8fee5bf9ba4b2732f297daa70109ed006537e134d9e450f69cdf12d2f21982f6125bb6205d7351fc4fb720f2f2c789ec7231fb52c2265
7
- data.tar.gz: 24e2128d38775d801394ea84be5aaeb0bdfc7bcd312c76484e1ef0c6aaf8a950214a6400a918e999eef9e6716bea53faec63e74fdd86277708d6a46dac04d4cc
6
+ metadata.gz: 6c6cc3e9a3bbacc815c2d775bc72face007584478f80e245102edd325617699e48963632471be919d5a81d44d3b422bfcbc002f92a4129134c82711121ed64e5
7
+ data.tar.gz: 4149592d5f3f8424080881f0cd124caf2d3bbe506c6e13daf986eca4f362e2746f148e575400ed8c2b268917b454f0590b2eca0c9aa26a7494587d67a6c4ce44
@@ -0,0 +1,11 @@
1
+ Release notes
2
+ =============
3
+
4
+ ### 0.0.9 (2014-08-29)
5
+ * Fixes RHBZ#1134954 - Log API errors that are re-risen with debug verbosity
6
+ * Add apidoc_cache_base_dir option to move all caches to another dir
7
+ * Moved development dependences to gemspec
8
+ * Fixed cache name test
9
+ * Added configuration for Travis CI
10
+ * Fixed response headers in dry_run
11
+ * Logging response headers
@@ -24,7 +24,9 @@ module ApipieBindings
24
24
  # @option config [Hash] :headers additional headers to send with the requests
25
25
  # @option config [String] :api_version ('1') version of the API
26
26
  # @option config [String] :language prefered locale for the API description
27
- # @option config [String] :apidoc_cache_dir ('~/.cache/apipie_bindings/<URI>') where
27
+ # @option config [String] :apidoc_cache_base_dir ('~/.cache/apipie_bindings') base
28
+ # directory for building apidoc_cache_dir
29
+ # @option config [String] :apidoc_cache_dir (apidoc_cache_base_dir+'/<URI>') where
28
30
  # to cache the JSON description of the API
29
31
  # @option config [String] :apidoc_cache_name ('default.json') name of te cache file.
30
32
  # If there is cache in the :apidoc_cache_dir, it is used.
@@ -53,7 +55,8 @@ module ApipieBindings
53
55
  @uri = config[:uri]
54
56
  @api_version = config[:api_version] || 1
55
57
  @language = config[:language]
56
- @apidoc_cache_dir = config[:apidoc_cache_dir] || File.join(File.expand_path('~/.cache'), 'apipie_bindings', @uri.tr(':/', '_'))
58
+ apidoc_cache_base_dir = config[:apidoc_cache_base_dir] || File.join(File.expand_path('~/.cache'), 'apipie_bindings')
59
+ @apidoc_cache_dir = config[:apidoc_cache_dir] || File.join(apidoc_cache_base_dir, @uri.tr(':/', '_'))
57
60
  @apidoc_cache_name = config[:apidoc_cache_name] || set_default_name
58
61
  @dry_run = config[:dry_run] || false
59
62
  @aggressive_cache_checking = config[:aggressive_cache_checking] || false
@@ -189,20 +192,22 @@ module ApipieBindings
189
192
  if dry_run?
190
193
  empty_response = ApipieBindings::Example.new('', '', '', 200, '')
191
194
  ex = options[:fake_response ] || empty_response
192
- response = RestClient::Response.create(ex.response, ex.status, args)
195
+ net_http_resp = Net::HTTPResponse.new(1.0, ex.status, "")
196
+ response = RestClient::Response.create(ex.response, net_http_resp, args)
193
197
  else
194
198
  begin
195
199
  response = @client[path].send(*args)
196
200
  update_cache(response.headers[:apipie_checksum])
197
201
  rescue => e
198
- log.error e.message + "\n" +
202
+ log.debug e.message + "\n" +
199
203
  (e.respond_to?(:response) ? process_data(e.response).ai : e.ai)
200
204
  raise
201
205
  end
202
206
  end
203
207
 
204
208
  result = options[:response] == :raw ? response : process_data(response)
205
- log.debug "Response %s" % (options[:reduce_response_log] ? "Received OK" : result.ai)
209
+ log.debug "Response: %s" % (options[:reduce_response_log] ? "Received OK" : result.ai)
210
+ log.debug "Response headers: #{response.headers.ai}" if response.respond_to?(:headers)
206
211
  result
207
212
  end
208
213
 
@@ -1,5 +1,5 @@
1
1
  module ApipieBindings
2
2
  def self.version
3
- @version ||= Gem::Version.new '0.0.8'
3
+ @version ||= Gem::Version.new '0.0.9'
4
4
  end
5
5
  end
@@ -66,7 +66,9 @@ describe ApipieBindings::API do
66
66
  :dry_run => true})
67
67
  s = StringIO.new; s << 'foo'
68
68
  headers = {:content_type => 'multipart/form-data', :multipart => true}
69
- RestClient::Response.expects(:create).with('', 200, [:post, {:file => s}, headers])
69
+ RestClient::Response.expects(:create).with() {
70
+ |body, head, args| args == [:post, {:file => s}, headers]
71
+ }
70
72
  result = api.http_call(:post, '/api/path', {:file => s}, headers, {:response => :raw})
71
73
  end
72
74
 
@@ -127,9 +129,10 @@ describe ApipieBindings::API do
127
129
  end
128
130
 
129
131
  it "should load cache and its name from cache dir" do
132
+ Dir["#{@dir}/*"].each { |f| File.delete(f) }
130
133
  FileUtils.cp('test/unit/data/architecture.json', File.join(@dir, 'api_cache.json'))
131
- @api = ApipieBindings::API.new({:apidoc_cache_dir => @dir})
132
- @api.apidoc_cache_name.must_equal 'api_cache'
134
+ api = ApipieBindings::API.new({:apidoc_cache_dir => @dir})
135
+ api.apidoc_cache_name.must_equal 'api_cache'
133
136
  end
134
137
  end
135
138
 
@@ -137,6 +140,13 @@ describe ApipieBindings::API do
137
140
  it "should complain when no uri or cache dir is set" do
138
141
  proc {ApipieBindings::API.new({})}.must_raise ApipieBindings::ConfigurationError
139
142
  end
143
+
144
+ it "should obey :apidoc_cache_base_dir to generate apidoc_cache_dir" do
145
+ Dir.mktmpdir do |dir|
146
+ api = ApipieBindings::API.new({:uri => 'http://example.com', :apidoc_cache_base_dir => dir})
147
+ api.apidoc_cache_file.must_equal File.join(dir, 'http___example.com', 'default.json')
148
+ end
149
+ end
140
150
  end
141
151
 
142
152
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apipie-bindings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Bačovský
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-07 00:00:00.000000000 Z
11
+ date: 2014-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -30,14 +30,20 @@ dependencies:
30
30
  requirements:
31
31
  - - '>='
32
32
  - !ruby/object:Gem::Version
33
- version: 1.6.1
33
+ version: 1.6.5
34
+ - - <
35
+ - !ruby/object:Gem::Version
36
+ version: '1.7'
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
41
  - - '>='
39
42
  - !ruby/object:Gem::Version
40
- version: 1.6.1
43
+ version: 1.6.5
44
+ - - <
45
+ - !ruby/object:Gem::Version
46
+ version: '1.7'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: oauth
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +86,110 @@ dependencies:
80
86
  - - ~>
81
87
  - !ruby/object:Gem::Version
82
88
  version: '1.0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: rake
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: 10.1.0
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ~>
101
+ - !ruby/object:Gem::Version
102
+ version: 10.1.0
103
+ - !ruby/object:Gem::Dependency
104
+ name: thor
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - '>='
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: minitest
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - '='
122
+ - !ruby/object:Gem::Version
123
+ version: 4.7.4
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - '='
129
+ - !ruby/object:Gem::Version
130
+ version: 4.7.4
131
+ - !ruby/object:Gem::Dependency
132
+ name: minitest-spec-context
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - '>='
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - '>='
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: simplecov
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - <
150
+ - !ruby/object:Gem::Version
151
+ version: 0.9.0
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - <
157
+ - !ruby/object:Gem::Version
158
+ version: 0.9.0
159
+ - !ruby/object:Gem::Dependency
160
+ name: mocha
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - '>='
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ - !ruby/object:Gem::Dependency
174
+ name: ci_reporter
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - '>='
178
+ - !ruby/object:Gem::Version
179
+ version: 1.6.3
180
+ - - <
181
+ - !ruby/object:Gem::Version
182
+ version: 2.0.0
183
+ type: :development
184
+ prerelease: false
185
+ version_requirements: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - '>='
188
+ - !ruby/object:Gem::Version
189
+ version: 1.6.3
190
+ - - <
191
+ - !ruby/object:Gem::Version
192
+ version: 2.0.0
83
193
  description: |
84
194
  Bindings for API calls that are documented with Apipie. Bindings are generated on the fly.
85
195
  email: mbacovsk@redhat.com
@@ -87,9 +197,11 @@ executables: []
87
197
  extensions: []
88
198
  extra_rdoc_files:
89
199
  - README.md
200
+ - doc/release_notes.md
90
201
  files:
91
202
  - LICENSE
92
203
  - README.md
204
+ - doc/release_notes.md
93
205
  - lib/apipie-bindings.rb
94
206
  - lib/apipie_bindings.rb
95
207
  - lib/apipie_bindings/action.rb