netdnarws 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,5 +1,5 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  gem "addressable"
4
- gem "signet"
4
+ gem "curb-fu"
5
5
  gemspec
@@ -1,3 +1,3 @@
1
1
  module NetDNARWS
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
data/lib/netdnarws.rb CHANGED
@@ -1,16 +1,8 @@
1
1
  require 'signet/oauth_1/client'
2
2
  require 'addressable/uri'
3
- require 'faraday/connection'
3
+ require 'curb-fu'
4
4
  require 'json'
5
5
 
6
- module Faraday
7
- class Request
8
- def url path, params=nil
9
- self.path = path
10
- end
11
- end
12
- end
13
-
14
6
  module NetDNARWS
15
7
  class NetDNA
16
8
  attr_accessor :client
@@ -58,33 +50,35 @@ module NetDNARWS
58
50
 
59
51
  request_options[:body] = _encode_params(attributes[0]) if options[:body]
60
52
  request = @request_signer.generate_authenticated_request(request_options)
61
- connection = Faraday::Connection.new
62
53
 
63
54
  begin
64
- response = connection.send method do |req|
65
- req.url _get_url(uri, attributes)
66
- req.headers = request.headers
67
- req.body = request.body if options[:body]
68
- end
55
+ response = CurbFu.send method,
56
+ url: _get_url(uri, attributes),
57
+ headers: request.headers,
58
+ data: (request.body if options[:body])
59
+
60
+ return response if options[:debug_request]
61
+
62
+ response_json = JSON.load(response.body)
69
63
 
70
- response_json = JSON.load(response.env[:body])
64
+ return response_json if options[:debug_json]
71
65
 
72
- if not (100..399).include? response.env[:status]
66
+ if not (response.success? or response.redirect?)
73
67
  error_message = response_json['error']['message']
74
- raise Exception.new("#{response.env[:status]}: #{error_message}")
68
+ raise Exception.new("#{response.status}: #{error_message}")
75
69
  end
76
70
  rescue TypeError
77
71
  raise Exception.new(
78
- "#{response.env[:status]}: No information supplied by the server"
72
+ "#{response.status}: No information supplied by the server"
79
73
  )
80
74
  end
81
75
 
82
76
  response_json
83
77
  end
84
78
 
85
- def get uri, options={}
79
+ def get uri, data={}, options={}
86
80
  options[:body] = false
87
- self._response_as_json 'get', uri, options
81
+ self._response_as_json 'get', uri, options, data
88
82
  end
89
83
 
90
84
  def post uri, data={}, options={}
@@ -97,9 +91,9 @@ module NetDNARWS
97
91
  self._response_as_json 'put', uri, options, data
98
92
  end
99
93
 
100
- def delete uri, options={}
94
+ def delete uri, data={}, options={}
101
95
  options[:body] = false
102
- self._response_as_json 'delete', uri, options
96
+ self._response_as_json 'delete', uri, options, data
103
97
  end
104
98
  end
105
99
  end
data/netdnarws.gemspec CHANGED
@@ -14,4 +14,5 @@ Gem::Specification.new do |gem|
14
14
  gem.authors = ["NetDNA Developer Team"]
15
15
  gem.add_dependency 'addressable'
16
16
  gem.add_dependency 'signet'
17
+ gem.add_dependency 'curb-fu'
17
18
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: netdnarws
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
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-08-08 00:00:00.000000000 Z
12
+ date: 2012-11-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: addressable
@@ -43,6 +43,22 @@ dependencies:
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
45
  version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: curb-fu
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
46
62
  description: A Rest Client For NetDNA Rest Web Services
47
63
  email: devteam@netdna.com
48
64
  executables: []