tappay_ruby 0.21.0 → 1.0.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
  SHA256:
3
- metadata.gz: a98d5ba27cfbd5b0c84eb9d3735305394f5139de224302a4b05ebd8cde20aef3
4
- data.tar.gz: 748e8e15cf14a9713bb7c535cbd643353023b0a164d57205fdbb95720bb4c781
3
+ metadata.gz: a26afeb3605a9764ffde41417a8c8bf569ce1ef747b55a0ea03227b2e4635ef1
4
+ data.tar.gz: 5b37260f95d67ecef4e586bc52eeb854c00f151e0db0201e035285bbe51dabf8
5
5
  SHA512:
6
- metadata.gz: 92746a45c1b13cb52941499fd079f0626102ca79109aaac40a3321f138b4c5b8bd904209d3ce4cab092a2461d6100deb0b3232d8cbb54385c7ea93ffb2f43503
7
- data.tar.gz: 957eaf9280407b56a2adf3508322d0e09ef06e9b7681201526af8edd3941305b480a06a8dc605bb3faaf7908d1de2e238a527969229630ef26ccd492afae35fa
6
+ metadata.gz: 527eea4df79a39998aa805e5e13bf039d52042723014922f9e06f3884f5a050f90e4c23fffe1f201916658a8b197b64c06560bb19d6c0c149a31c71138d9f943
7
+ data.tar.gz: e11121af219cb3d6b884bd2f951f9ba4794c3e8136ceca749ea54926e492257490b2adbacd3eb99542d6f5d7738a7602647b6390aeecc1b5d40ad878923dfcfc
data/lib/tappay/client.rb CHANGED
@@ -1,10 +1,9 @@
1
- require 'httparty'
1
+ require 'net/http'
2
+ require 'uri'
2
3
  require 'json'
3
4
 
4
5
  module Tappay
5
6
  class Client
6
- include HTTParty
7
-
8
7
  attr_reader :options
9
8
 
10
9
  def initialize(options = {})
@@ -13,16 +12,19 @@ module Tappay
13
12
  end
14
13
 
15
14
  def post(url, data)
16
- @response = self.class.post(
17
- url,
18
- body: data.to_json,
19
- headers: headers,
20
- timeout: timeout
21
- )
15
+ uri = URI.parse(url)
16
+ http = Net::HTTP.new(uri.host, uri.port)
17
+ http.use_ssl = (uri.scheme == 'https')
18
+ http.open_timeout = timeout
19
+ http.read_timeout = timeout
20
+
21
+ request = Net::HTTP::Post.new(uri.request_uri, headers)
22
+ request.body = data.to_json
22
23
 
24
+ @response = http.request(request)
23
25
  validate_response
24
- @response
25
- rescue HTTParty::Error, Timeout::Error, Net::OpenTimeout => e
26
+ Response.new(@response)
27
+ rescue Timeout::Error, Net::OpenTimeout, Net::ReadTimeout => e
26
28
  raise ConnectionError, "HTTP Request failed: #{e.message}"
27
29
  end
28
30
 
@@ -40,7 +42,8 @@ module Tappay
40
42
  end
41
43
 
42
44
  def validate_response
43
- case @response.code
45
+ code = @response.code.to_i
46
+ case code
44
47
  when 200
45
48
  true
46
49
  when 400
@@ -48,10 +51,35 @@ module Tappay
48
51
  when 401
49
52
  raise ConfigurationError, "Authentication failed. Check your partner_key."
50
53
  when 404
51
- raise ConnectionError, "API endpoint not found: #{@response.request.last_uri}"
54
+ raise ConnectionError, "API endpoint not found"
52
55
  else
53
- raise ConnectionError, "HTTP Request failed with code #{@response.code}: #{@response.body}"
56
+ raise ConnectionError, "HTTP Request failed with code #{code}: #{@response.body}"
54
57
  end
55
58
  end
56
59
  end
60
+
61
+ class Response
62
+ attr_reader :code, :body, :headers
63
+
64
+ def initialize(net_http_response)
65
+ @response = net_http_response
66
+ @code = net_http_response.code.to_i
67
+ @body = net_http_response.body
68
+ @headers = net_http_response.to_hash
69
+ end
70
+
71
+ def parsed_response
72
+ @parsed_response ||= JSON.parse(@body)
73
+ rescue JSON::ParserError
74
+ @body
75
+ end
76
+
77
+ def success?
78
+ @code >= 200 && @code < 300
79
+ end
80
+
81
+ def [](key)
82
+ parsed_response[key]
83
+ end
84
+ end
57
85
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tappay
4
- VERSION = '0.21.0'
4
+ VERSION = '1.0.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tappay_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zac
@@ -9,20 +9,6 @@ bindir: exe
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
- - !ruby/object:Gem::Dependency
13
- name: httparty
14
- requirement: !ruby/object:Gem::Requirement
15
- requirements:
16
- - - "~>"
17
- - !ruby/object:Gem::Version
18
- version: 0.21.0
19
- type: :runtime
20
- prerelease: false
21
- version_requirements: !ruby/object:Gem::Requirement
22
- requirements:
23
- - - "~>"
24
- - !ruby/object:Gem::Version
25
- version: 0.21.0
26
12
  - !ruby/object:Gem::Dependency
27
13
  name: rake
28
14
  requirement: !ruby/object:Gem::Requirement
@@ -168,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
154
  - !ruby/object:Gem::Version
169
155
  version: '0'
170
156
  requirements: []
171
- rubygems_version: 3.6.9
157
+ rubygems_version: 4.0.3
172
158
  specification_version: 4
173
159
  summary: Ruby wrapper for TapPay payment gateway
174
160
  test_files: []