razorpay 2.1.0.pre → 2.1.0

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: b464a4ac1b55d618bb1af484eba8f9cb07fb8ae7
4
- data.tar.gz: 8e2d8c5f6c9abd7f08bf7beee1c643fa86b10e64
3
+ metadata.gz: e44bdd7fd838ec1ac184e39eafccd535f4789083
4
+ data.tar.gz: f38d503263f55d2e493e9ce046ce671621f2f69f
5
5
  SHA512:
6
- metadata.gz: 10acefb42404585616e9f17092c1f85da4f5cea75b9e83d3f453b9c35dfbca7c77307da27e04edc7b9020da51d72465c0ff7702b0018b174e0beb6ad9e8bd640
7
- data.tar.gz: 765e74db5ff99dd15b4f1c078497f1e6532bbe3e96b723c6bb967b3b8d554cefb4c30f9ecdf3e627a652b293ca0d5c137c95b45da4a22a1164efaa91fda58e68
6
+ metadata.gz: 4b581f65deb6964ebe58bb6a244f72f14f22c56392983cbaf02f307e6793d2b2ac9d57757756d256388d130b19262cc46e7df85fd2b768bbc6e139aafe519937
7
+ data.tar.gz: '078dfff04cd5ed1a6c6c9c2be451d8056dfbb5821f0b12fc816750451d0cbe8aba1b877ba4e1d6e03c13f8a8d5e8cd1bd5f061de72849286b9941923243d8af8'
@@ -4,6 +4,13 @@ Changelog for Razorpay-Ruby SDK.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## [2.1.0] - 2017-11-17
8
+ ### Changed
9
+ - Generic `Razorpay::Error` is thrown when server is unreachable
10
+
11
+ ### Added
12
+ - Support for making raw requests to the API via `raw_request`.
13
+
7
14
  ## [2.1.0.pre] - 2017-08-17
8
15
  ### Added
9
16
  - Support for Virtual Accounts
@@ -54,7 +61,8 @@ Changelog for Razorpay-Ruby SDK.
54
61
  ### Added
55
62
  - Initial Release
56
63
 
57
- [Unreleased]: https://github.com/razorpay/razorpay-ruby/compare/2.1.0.pre...HEAD
64
+ [Unreleased]: https://github.com/razorpay/razorpay-ruby/compare/2.1.0...HEAD
65
+ [2.1.0]: https://github.com/razorpay/razorpay-ruby/compare/2.0.1...2.1.0
58
66
  [2.1.0.pre]: https://github.com/razorpay/razorpay-ruby/compare/2.0.1...2.1.0.pre
59
67
  [2.0.1]: https://github.com/razorpay/razorpay-ruby/compare/2.0.0...2.0.1
60
68
  [2.0.0]: https://github.com/razorpay/razorpay-ruby/compare/1.2.1...2.0.0
@@ -2,5 +2,5 @@
2
2
  module Razorpay
3
3
  BASE_URI = 'https://api.razorpay.com/v1/'.freeze
4
4
  TEST_URL = 'https://api.razorpay.com/'.freeze
5
- VERSION = '2.1.0.pre'.freeze
5
+ VERSION = '2.1.0'.freeze
6
6
  end
@@ -3,7 +3,7 @@ module Razorpay
3
3
  class Error < StandardError
4
4
  attr_reader :code, :status
5
5
 
6
- def initialize(code, status)
6
+ def initialize(code = nil, status = nil)
7
7
  @code = code
8
8
  @status = status
9
9
  end
@@ -10,7 +10,7 @@ module Razorpay
10
10
 
11
11
  ssl_ca_file File.dirname(__FILE__) + '/../ca-bundle.crt'
12
12
 
13
- def initialize(entity_name)
13
+ def initialize(entity_name = nil)
14
14
  self.class.base_uri(Razorpay::BASE_URI)
15
15
  @entity_name = entity_name
16
16
  custom_headers = Razorpay.custom_headers || {}
@@ -55,13 +55,18 @@ module Razorpay
55
55
  end
56
56
 
57
57
  def request(method, url, data = {})
58
+ create_instance raw_request(method, url, data)
59
+ end
60
+
61
+ def raw_request(method, url, data = {})
58
62
  case method
59
63
  when :get
60
64
  @options[:query] = data
61
65
  when :post, :put, :patch
62
66
  @options[:body] = data
63
67
  end
64
- create_instance self.class.send(method, url, @options)
68
+
69
+ self.class.send(method, url, @options)
65
70
  end
66
71
 
67
72
  # Since we need to change the base route
@@ -75,7 +80,9 @@ module Razorpay
75
80
  response = res.parsed_response
76
81
 
77
82
  # if there was an error, throw it
78
- raise_error(response['error'], res.code) if response.key?('error')
83
+ if response.nil? || response.key?('error')
84
+ raise_error(response['error'], res.code)
85
+ end
79
86
 
80
87
  # There must be a top level entity
81
88
  # This is either one of payment, refund, or collection at present
@@ -95,15 +102,12 @@ module Razorpay
95
102
  class_name = error['code'].split('_').map(&:capitalize).join('')
96
103
  args = [error['code'], status]
97
104
  args.push error['field'] if error.key?('field')
98
- klass =
99
- begin
100
- require "razorpay/errors/#{error['code'].downcase}"
101
- Razorpay.const_get(class_name)
102
- # We got an unknown error, cast it to Error for now
103
- rescue NameError, LoadError
104
- Razorpay::Error
105
- end
105
+ require "razorpay/errors/#{error['code'].downcase}"
106
+ klass = Razorpay.const_get(class_name)
106
107
  raise klass.new(*args), error['description']
108
+ rescue NameError, LoadError
109
+ # We got an unknown error, cast it to Error for now
110
+ raise Razorpay::Error.new, 'Unknown Error'
107
111
  end
108
112
  end
109
113
  end
@@ -1,5 +1,3 @@
1
- # coding: utf-8
2
-
3
1
  lib = File.expand_path('../lib', __FILE__)
4
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
3
  require 'razorpay/constants'
@@ -19,10 +17,10 @@ Gem::Specification.new do |spec|
19
17
  spec.test_files = spec.files.grep(/^(test|spec|features)/)
20
18
  spec.require_paths = ['lib']
21
19
 
22
- spec.add_development_dependency 'rake', '~> 12.0'
23
- spec.add_development_dependency 'minitest', '~> 5.10'
24
- spec.add_development_dependency 'webmock', '~> 2.3'
25
20
  spec.add_development_dependency 'coveralls', '~> 0.8'
21
+ spec.add_development_dependency 'minitest', '~> 5.10'
22
+ spec.add_development_dependency 'rake', '~> 12.0'
26
23
  spec.add_development_dependency 'rubocop', '~> 0.49'
24
+ spec.add_development_dependency 'webmock', '~> 2.3'
27
25
  spec.add_dependency 'httparty', '~> 0.14'
28
26
  end
@@ -0,0 +1,3 @@
1
+ {
2
+ "message": "Welcome to Razorpay API."
3
+ }
@@ -20,6 +20,10 @@ module Razorpay
20
20
  assert_raises(Razorpay::Error) { Razorpay::Request.new('dummy').raise_error(error, 500) }
21
21
  end
22
22
 
23
+ def test_raise_error_server_unreachable
24
+ assert_raises(Razorpay::Error) { Razorpay::Request.new('dummy').raise_error(nil, nil) }
25
+ end
26
+
23
27
  def test_respond_to_missing_method
24
28
  order_id = 'order_50sX9hGHZJvjjI'
25
29
  stub_get(%r{orders/#{order_id}$}, 'fake_order')
@@ -0,0 +1,15 @@
1
+ require 'test_helper'
2
+ require 'json'
3
+
4
+ module Razorpay
5
+ # Tests for Razorpay::Entity
6
+ class RequestTest < Minitest::Test
7
+ def test_raw_request
8
+ stub_get('https://api.razorpay.com', 'welcome')
9
+
10
+ req = Razorpay::Request.new
11
+ res = req.raw_request(:get, 'https://api.razorpay.com')
12
+ assert_equal 'Welcome to Razorpay API.', JSON.parse(res.body)['message']
13
+ end
14
+ end
15
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: razorpay
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0.pre
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Abhay Rana
@@ -9,22 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-08-17 00:00:00.000000000 Z
12
+ date: 2017-11-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: rake
15
+ name: coveralls
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '12.0'
20
+ version: '0.8'
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '12.0'
27
+ version: '0.8'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: minitest
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -40,47 +40,47 @@ dependencies:
40
40
  - !ruby/object:Gem::Version
41
41
  version: '5.10'
42
42
  - !ruby/object:Gem::Dependency
43
- name: webmock
43
+ name: rake
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '2.3'
48
+ version: '12.0'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '2.3'
55
+ version: '12.0'
56
56
  - !ruby/object:Gem::Dependency
57
- name: coveralls
57
+ name: rubocop
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0.8'
62
+ version: '0.49'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '0.8'
69
+ version: '0.49'
70
70
  - !ruby/object:Gem::Dependency
71
- name: rubocop
71
+ name: webmock
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '0.49'
76
+ version: '2.3'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '0.49'
83
+ version: '2.3'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: httparty
86
86
  requirement: !ruby/object:Gem::Requirement
@@ -108,7 +108,7 @@ files:
108
108
  - ".rubocop.yml"
109
109
  - ".simplecov"
110
110
  - ".travis.yml"
111
- - CHANGELOG
111
+ - CHANGELOG.md
112
112
  - Gemfile
113
113
  - LICENSE.txt
114
114
  - README.md
@@ -156,6 +156,7 @@ files:
156
156
  - test/fixtures/payment_collection_with_one_payment.json
157
157
  - test/fixtures/refund_collection.json
158
158
  - test/fixtures/refund_collection_for_payment.json
159
+ - test/fixtures/welcome.json
159
160
  - test/razorpay/test_card.rb
160
161
  - test/razorpay/test_customer.rb
161
162
  - test/razorpay/test_entity.rb
@@ -165,6 +166,7 @@ files:
165
166
  - test/razorpay/test_payment.rb
166
167
  - test/razorpay/test_razorpay.rb
167
168
  - test/razorpay/test_refund.rb
169
+ - test/razorpay/test_request.rb
168
170
  - test/razorpay/test_utility.rb
169
171
  - test/razorpay/test_virtual_account.rb
170
172
  - test/test_helper.rb
@@ -183,12 +185,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
183
185
  version: '0'
184
186
  required_rubygems_version: !ruby/object:Gem::Requirement
185
187
  requirements:
186
- - - ">"
188
+ - - ">="
187
189
  - !ruby/object:Gem::Version
188
- version: 1.3.1
190
+ version: '0'
189
191
  requirements: []
190
192
  rubyforge_project:
191
- rubygems_version: 2.6.12
193
+ rubygems_version: 2.6.13
192
194
  signing_key:
193
195
  specification_version: 4
194
196
  summary: Razorpay's Ruby API
@@ -216,6 +218,7 @@ test_files:
216
218
  - test/fixtures/payment_collection_with_one_payment.json
217
219
  - test/fixtures/refund_collection.json
218
220
  - test/fixtures/refund_collection_for_payment.json
221
+ - test/fixtures/welcome.json
219
222
  - test/razorpay/test_card.rb
220
223
  - test/razorpay/test_customer.rb
221
224
  - test/razorpay/test_entity.rb
@@ -225,6 +228,7 @@ test_files:
225
228
  - test/razorpay/test_payment.rb
226
229
  - test/razorpay/test_razorpay.rb
227
230
  - test/razorpay/test_refund.rb
231
+ - test/razorpay/test_request.rb
228
232
  - test/razorpay/test_utility.rb
229
233
  - test/razorpay/test_virtual_account.rb
230
234
  - test/test_helper.rb