zenodo 0.0.6 → 0.0.7

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: 076dae0b2d6a7b61716e7d8a47dee8c03d9f0eec
4
- data.tar.gz: 444a4c8a9f793930cb0d8dd77501d64cb498c8c0
3
+ metadata.gz: e6153bc89b1c47f039c53c1ba75a2534196ad77f
4
+ data.tar.gz: 636baf182e8874f1f7dc286968388af74503c4d8
5
5
  SHA512:
6
- metadata.gz: b0bf1bc1add5b02c77ba839091dd6a1715ba6e79854350d5a5b7f5c390ad7a43a01f5fe9417518531ebc654223a9ebb9d5b01982d9979d848561938a25ab36e9
7
- data.tar.gz: 66204e3d312e07fbf534de48c3365bd1019d61d2dd9bb6afae7e1efe3a6123f2654050f22480afad57fd5eae90656b6bad25f378188d4b16a7ba06af6647bdcc
6
+ metadata.gz: e951ea20795e76dd03c3d6733bab2099c3e08111894d689d2848548e400ca4add3c9198e93a326e60f2e1536211392471db306c98c866e36f706f732f5b137e9
7
+ data.tar.gz: cb71634a7505cfb3e1dbf3fdca9f9292838934b7785e23e0198b294b919e3ca2a1810d5104fc04eec20c7e7a7483b62a13316988b5e57e9ef62f633fc9def4e0
@@ -56,10 +56,10 @@ module Zenodo
56
56
  when 200..299
57
57
  return response
58
58
  when 404
59
- raise ResourceNotFoundError.new(response: response)
59
+ raise ResourceNotFoundError.new(method: method, url:token_url, headers:headers, response: response)
60
60
  else
61
- raise ClientError.new(response: response)
61
+ raise ClientError.new(method: method, url:token_url, headers:headers, response: response)
62
62
  end
63
63
  end
64
64
  end
65
- end
65
+ end
@@ -1,9 +1,15 @@
1
1
  module Zenodo
2
2
  module Errors
3
3
  class ClientError < StandardError
4
- def initialize(response:)
4
+ def initialize(method:, url:, headers:, response:)
5
+ super <<-STR.gsub(/^\s*/, '')
6
+ HTTP #{method} #{url}
7
+ Request Headers: #{headers}
8
+ Response Headers: #{response.headers}\n
9
+ Response Body:\n#{response.body}
10
+ STR
5
11
  @response = response
6
12
  end
7
13
  end
8
14
  end
9
- end
15
+ end
@@ -47,8 +47,8 @@ module Zenodo::Resources::Object::Attributes
47
47
  end
48
48
 
49
49
  def method_missing(name, *args, &block)
50
- attribute = name.to_s.upcase
51
- if __getobj__.key?(attribute)
50
+ name = name.to_s
51
+ if __getobj__.key?(name)
52
52
  self.class.define_attribute_accessor(name)
53
53
  deserialize_attribute(name, self.class.attributes[name.to_sym])
54
54
  else
@@ -1,3 +1,3 @@
1
1
  module Zenodo
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -0,0 +1,37 @@
1
+ require 'spec_helper'
2
+
3
+ shared_examples "zenodo/errors/client_error" do
4
+ subject(:client_error){ described_class.new(
5
+ method:method,
6
+ url:url,
7
+ headers:headers,
8
+ response:response
9
+ )}
10
+
11
+ let(:method){ "POST" }
12
+ let(:url){ "http://www.example.com" }
13
+ let(:headers){ "request headers here" }
14
+ let(:response){ double("Response", headers: "response headers", body: "response body") }
15
+
16
+ it "prints out a helpful error message" do
17
+ expected_error_message = <<-ERROR.gsub(/^\s*/, '')
18
+ HTTP POST http://www.example.com
19
+ Request Headers: request headers here
20
+ Response Headers: response headers
21
+ Response Body:
22
+ response body
23
+ ERROR
24
+
25
+ expect{
26
+ raise client_error
27
+ }.to raise_error(Zenodo::Errors::ClientError, expected_error_message)
28
+ end
29
+ end
30
+
31
+ describe Zenodo::Errors::ClientError do
32
+ include_examples "zenodo/errors/client_error"
33
+ end
34
+
35
+ describe Zenodo::Errors::ResourceNotFoundError do
36
+ include_examples "zenodo/errors/client_error"
37
+ end
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
26
26
 
27
27
  spec.add_dependency 'faraday', '~> 0.9'
28
28
  spec.add_dependency 'activesupport', '~> 4.1'
29
- spec.add_dependency 'mime-types', '~> 1.2'
29
+ spec.add_dependency 'mime-types', '~> 2.6'
30
30
 
31
31
  spec.add_development_dependency 'bundler', '~> 1.7'
32
32
  spec.add_development_dependency 'rake', '~> 10.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zenodo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Iorns
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-30 00:00:00.000000000 Z
11
+ date: 2015-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.2'
47
+ version: '2.6'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.2'
54
+ version: '2.6'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -165,6 +165,7 @@ files:
165
165
  - spec/zenodo/dsl/deposition_actions_spec.rb
166
166
  - spec/zenodo/dsl/deposition_files_spec.rb
167
167
  - spec/zenodo/dsl/depositions_spec.rb
168
+ - spec/zenodo/errors_spec.rb
168
169
  - zenodo.gemspec
169
170
  homepage: https://github.com/sprotocols/zenodo
170
171
  licenses:
@@ -198,4 +199,5 @@ test_files:
198
199
  - spec/zenodo/dsl/deposition_actions_spec.rb
199
200
  - spec/zenodo/dsl/deposition_files_spec.rb
200
201
  - spec/zenodo/dsl/depositions_spec.rb
202
+ - spec/zenodo/errors_spec.rb
201
203
  has_rdoc: