zenodo 0.0.6 → 0.0.7

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