zspay 0.1.0 → 0.1.4

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
  SHA256:
3
- metadata.gz: 1aac14f56e09d57e0571f4693044c020d617f4d857c34bc7f01b508532a36e82
4
- data.tar.gz: a4b5ecbd3292bdf40f8279ad2dbc7ec50f30e8cb244f6f6b022ffffda6bf1517
3
+ metadata.gz: b4be09af38901aaea44efedb64d67375bd44ecf89395e1fca571fba5725930fb
4
+ data.tar.gz: df23c26428aea955775248b409c28371b39afaace1768e50fd4e039211b56fd7
5
5
  SHA512:
6
- metadata.gz: a33ca0bdd26dbbcb622bc3f618f2d757670a0c18f95deb5cf3adc6a52a4ca8fca65af04f4bfdbcc7f41e93f0cdfca06748bf626c7e1ab19028f3dc783ebd266c
7
- data.tar.gz: afea2070c867ec49b5015db4adb00692bab9e95ab88b260cb26b5c6393ab65708084e33c7d26e051f8bd4aaeb09ed74b744c3a8c8b177c7fe7923c6f3174ac2d
6
+ metadata.gz: 2a99ca515ca8a92e8fc1fa9b262d39beaa936bdacb54daffe77242fe7cbf739aab544cf05adc24cab4d66eed329d578034c14d3bebb5a9436f11ea25c2bb8697
7
+ data.tar.gz: ac0391335107ed0a1b6d42f40a798d49cafca1b0738351b6f9f3215d6b8f51f89faeca73c7fe8a57e61b5d586347926269798e98dbf9020b74faaa8549da51b2
@@ -3,8 +3,8 @@
3
3
  module Zspay
4
4
  class Resource
5
5
  class << self
6
- def post(path, payload = {}, body: 'json')
7
- req(:post, path, payload, body: body)
6
+ def post(path, payload = {}, custom_token = nil, body: 'json')
7
+ req(:post, path, payload, custom_token, body: body)
8
8
  end
9
9
 
10
10
  def patch(path, payload)
@@ -25,28 +25,30 @@ module Zspay
25
25
 
26
26
  private
27
27
 
28
- def req(method, path, payload = {}, body: 'json')
29
- send("req_#{body}", method, path, payload)
28
+ def req(method, path, payload = {}, custom_token = nil, body: 'json')
29
+ send("req_#{body}", method, path, payload, custom_token)
30
30
  end
31
31
 
32
- def req_json(method, path, payload)
33
- res = HTTP.headers(headers).send(method, "#{endpoint}#{path}", json: payload)
32
+ def req_json(method, path, payload, custom_token)
33
+ res = HTTP.headers(headers(custom_token)).send(method, "#{endpoint}#{path}", json: payload)
34
34
 
35
35
  parse_body(res)
36
36
  end
37
37
 
38
- def req_form(method, path, payload)
38
+ def req_form(method, path, payload, custom_token)
39
39
  payload = HTTP::FormData::Multipart.new(payload)
40
- res = HTTP.headers(headers).send(method, "#{endpoint}#{path}", form: payload)
40
+ res = HTTP.headers(headers(custom_token)).send(method, "#{endpoint}#{path}", form: payload)
41
41
  parse_body(res)
42
42
  end
43
43
 
44
44
  def parse_body(response)
45
45
  if success_request?(response)
46
- json = JSON.parse(response.body.to_s, object_class: OpenStruct)
47
- json.message = JSON.parse(json.message.gsub(/^\d+ - /, ''), object_class: OpenStruct) unless json.success
46
+ body = response.body.to_s
47
+ json = parse_json(body)
48
48
 
49
- json
49
+ return json if json.is_a? OpenStruct
50
+
51
+ OpenStruct.new({ success: false, error: body })
50
52
  else
51
53
  error_log = Logger.new(STDERR)
52
54
  error_log.error("Error while making Zspay request" \
@@ -62,14 +64,21 @@ module Zspay
62
64
  Zspay::Configuration.endpoint
63
65
  end
64
66
 
65
- def headers
67
+ def headers(custom_token = nil)
68
+ token = custom_token ? "Bearer #{custom_token}" : "Bearer #{Zspay::Configuration.token}"
66
69
  {
67
- 'Authorization': "Bearer #{Zspay::Configuration.token}"
70
+ 'Authorization': token
68
71
  }
69
72
  end
70
73
 
71
74
  def success_request?(response)
72
- response.code.to_s =~ /2../
75
+ response.code.to_s =~ /2../ && response
76
+ end
77
+
78
+ def parse_json(json)
79
+ JSON.parse(json, object_class: OpenStruct)
80
+ rescue JSON::ParserError => e
81
+ json
73
82
  end
74
83
  end
75
84
  end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zspay
4
+ class Transfer < Zspay::Resource
5
+ class << self
6
+ def create(transfer, custom_token = nil)
7
+ post('/transferencias', transfer, custom_token)
8
+ end
9
+
10
+ def schedule_transfer(transfer_id)
11
+ get("/transferencias/agendadas/#{transfer_id}")
12
+ end
13
+
14
+ def remove(transfer_id)
15
+ delete("/transferencias/agendadas/#{transfer_id}")
16
+ end
17
+ end
18
+ end
19
+ end
@@ -4,3 +4,4 @@ require 'zspay/resources/bank_account'
4
4
  require 'zspay/resources/client'
5
5
  require 'zspay/resources/establishments'
6
6
  require 'zspay/resources/sale'
7
+ require 'zspay/resources/transfer'
data/lib/zspay/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Zspay
4
- VERSION = '0.1.0'
4
+ VERSION = '0.1.4'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zspay
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nullbug
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-20 00:00:00.000000000 Z
11
+ date: 2022-01-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http
@@ -67,6 +67,7 @@ files:
67
67
  - lib/zspay/resources/client.rb
68
68
  - lib/zspay/resources/establishments.rb
69
69
  - lib/zspay/resources/sale.rb
70
+ - lib/zspay/resources/transfer.rb
70
71
  - lib/zspay/version.rb
71
72
  homepage: ''
72
73
  licenses: