compropago_sdk 3.1.0 → 3.1.2

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/compropago_sdk/service.rb +73 -20
  3. metadata +42 -42
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6b3eda41760801ba15a3d43f7d6b95c29ec969f1
4
- data.tar.gz: d362a4ae5cfe54ef46d6d84cc172a971115a8f1e
3
+ metadata.gz: 2d02094c8350ba8f6aeee7bdc98933430e3f9385
4
+ data.tar.gz: 6b956cdb25ae20f14a373e93a392a0b2a4d43698
5
5
  SHA512:
6
- metadata.gz: 18b32068b2f3a6a759f6eb50c1830ed16ecaa5ab7882bc86b6b814db2450025bfa665930ac1305fb4c33a056d4b0a14f59caa548fd763154573428e66ef4097a
7
- data.tar.gz: f8bab9af1a10f2b8420f095246ef6f1237f77154c0c5fbba331e461d632737cb3cd4c2cb9e193c27b4bd99f0138634462de26f4b646532fe953e277d426c9559
6
+ metadata.gz: b25c3651f07c3d3bdce5c71e8d4af20efa672b19043b5651ecca9084dbd198ea5e5514d4a11405f5946b913745f67284ecf12e3eb8b2120cea7cd59efcb39097
7
+ data.tar.gz: 9acc5889db978f028a640d44d8dc56954615aad2dffea498df913b05c0f2aeedd9274dc81314b13fa93fee09b6ea8099c48100c56d9d83b59ef2da6ca02e9383
@@ -1,13 +1,18 @@
1
1
  class Service
2
-
2
+ # FUNCTION: constructor
3
3
  def initialize(client)
4
4
  @client = client
5
5
  end
6
6
 
7
+ # FUNCTION: get auth params
8
+ # @return [Hash]
7
9
  def get_auth
8
10
  { :user => @client.get_user, :pass => @client.get_pass }
9
11
  end
10
12
 
13
+ # FUNCTION: list providers by limit and currency
14
+ # @param limit [Float] limite de transaccion de los proveedores
15
+ # @param currency [String]
11
16
  def list_providers(limit=0, currency='MXN')
12
17
  uri = @client.deploy_uri+'providers/'
13
18
 
@@ -19,75 +24,123 @@ class Service
19
24
  uri = uri+'&currency='+currency
20
25
  end
21
26
 
22
- response = EasyRequest::get(uri, get_auth)
27
+ response = EasyRequest::get(uri, get_auth())
23
28
 
24
29
  Factory::get_instance_of 'ListProviders', response
25
30
  end
26
31
 
32
+ # FUNCTION: veridy order by unique_id
33
+ # @return [CpOrderInfo]
27
34
  def verify_order(order_id)
28
- response = EasyRequest::get( @client.deploy_uri+'charges/'+order_id+'/', get_auth)
35
+ response = EasyRequest::get( @client.deploy_uri+'charges/'+order_id+'/', get_auth())
29
36
 
30
37
  Factory::get_instance_of 'CpOrderInfo', response
31
38
  end
32
39
 
40
+ # FUNCTION: place order
41
+ # @param order [PlaceOrderInfo]
42
+ # @return [NewOrderInfo]
33
43
  def place_order(order)
34
44
  unless order.is_a?(PlaceOrderInfo)
35
45
  raise 'Order object is not valid'
36
46
  end
37
47
 
38
48
  params = {
39
- :order_id => order.order_id,
40
- :order_name => order.order_name,
41
- :order_price => order.order_price,
42
- :customer_name => order.customer_name,
43
- :customer_email => order.customer_email,
44
- :payment_type => order.payment_type,
45
- :currency => order.currency,
46
- :expiration_time => order.expiration_time,
47
- :image_url => order.image_url,
48
- :app_client_name => order.app_client_name,
49
- :app_client_version => order.app_client_version
49
+ order_id: order.order_id,
50
+ order_name: order.order_name,
51
+ order_price: order.order_price,
52
+ customer_name: order.customer_name,
53
+ customer_email: order.customer_email,
54
+ payment_type: order.payment_type,
55
+ currency: order.currency,
56
+ expiration_time: order.expiration_time,
57
+ image_url: order.image_url,
58
+ app_client_name: order.app_client_name,
59
+ app_client_version: order.app_client_version,
60
+ ip_address: get_ip()
50
61
  }
51
62
 
52
- response = EasyRequest::post(@client.deploy_uri+'charges/', params, get_auth)
63
+ puts params
64
+
65
+ response = EasyRequest::post(@client.deploy_uri+'charges/', params, get_auth())
53
66
 
54
67
  Factory::get_instance_of 'NewOrderInfo', response
55
68
  end
56
69
 
70
+ # FUNCTION: send sms of an order
71
+ # @param number [String] phone number
72
+ # @param order_id [String] id de la orden generada
73
+ # @return [SmsInfo]
57
74
  def send_sms_instructions(number, order_id)
58
75
  params = {customer_phone: number}
59
76
 
60
- response = EasyRequest::post(@client.deploy_uri+'charges/'+order_id+'/sms/', params, get_auth)
77
+ response = EasyRequest::post(@client.deploy_uri+'charges/'+order_id+'/sms/', params, get_auth())
61
78
 
62
79
  Factory::get_instance_of 'SmsInfo', response
63
80
  end
64
81
 
82
+ # FUNCTION: creatre webhook
83
+ # @param url [String] url for the new webhook
84
+ # @return [Webhook]
65
85
  def create_webhook(url)
66
86
  params = {url: url}
67
87
 
68
- response = EasyRequest::post(@client.deploy_uri+'webhooks/stores/', params, get_auth)
88
+ response = EasyRequest::post(@client.deploy_uri+'webhooks/stores/', params, get_auth())
69
89
 
70
90
  Factory::get_instance_of 'Webhook', response
71
91
  end
72
92
 
93
+ # FUNCTION: update registered webhook
94
+ # @param webhook_id [String] registered webhook ID
95
+ # @param new_url [String] new url for the webhook
96
+ # @return [Webhook]
73
97
  def update_webhook(webhook_id, new_url)
74
98
  params = {url: new_url}
75
99
 
76
- response = EasyRequest::put(@client.deploy_uri+'webhooks/stores/'+webhook_id+'/', params, get_auth)
100
+ response = EasyRequest::put(@client.deploy_uri+'webhooks/stores/'+webhook_id+'/', params, get_auth())
77
101
 
78
102
  Factory::get_instance_of 'Webhook', response
79
103
  end
80
104
 
105
+ # FUNCTION: delete webhook
106
+ # @param webhook_id [String] registered webhook ID
107
+ # @param [Webhook]
81
108
  def delete_webhook(webhook_id)
82
- response = EasyRequest::delete(@client.deploy_uri+'webhooks/stores/'+webhook_id, nil, get_auth)
109
+ response = EasyRequest::delete(@client.deploy_uri+'webhooks/stores/'+webhook_id, nil, get_auth())
83
110
 
84
111
  Factory::get_instance_of 'Webhook', response
85
112
  end
86
113
 
114
+ # FUNCTION: get list registered webhooks
115
+ # @return [ListWebhooks]
87
116
  def list_webhooks
88
- response = EasyRequest::get(@client.deploy_uri+'webhooks/stores/', get_auth)
117
+ response = EasyRequest::get(@client.deploy_uri+'webhooks/stores/', get_auth())
89
118
 
90
119
  Factory::get_instance_of 'ListWebhooks', response
91
120
  end
92
121
 
122
+ # FUNCTION: send async glocation for an order
123
+ # @param order_id [String] id de la orden generada
124
+ # @param latitud [Int] latitud de localizacion
125
+ # @param longitud [Int] longitud de localizacion
126
+ def send_glocation(order_id, latitud, longitud)
127
+ begin
128
+ data = {
129
+ latitud: latitud,
130
+ longitud: longitud,
131
+ order_id: order_id
132
+ }
133
+
134
+ response = EasyRequest.post(@client.deploy_uri+'glocation', data, get_auth())
135
+ puts response
136
+ rescue => exception
137
+ puts exception.message
138
+ end
139
+ end
140
+
141
+ # FUNCTION: get real IP request
142
+ # @return [String]
143
+ private def get_ip
144
+ return Net::HTTP.get URI "https://api.ipify.org"
145
+ end
93
146
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: compropago_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo Aguilar
@@ -9,64 +9,64 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-05-02 00:00:00.000000000 Z
12
+ date: 2017-05-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '>='
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '0'
20
+ version: '1.0'
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: '0'
27
+ version: '1.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rake
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '>='
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '0'
34
+ version: '12.0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '>='
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '0'
41
+ version: '12.0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: minitest
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - '>='
46
+ - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '0'
48
+ version: '5.10'
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: '0'
55
+ version: '5.10'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: easy_request
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - '>='
60
+ - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0'
62
+ version: 0.0.2
63
63
  type: :runtime
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'
69
+ version: 0.0.2
70
70
  description: Provee los servicios de creacion de cargos verificacion etc.
71
71
  email:
72
72
  - eduardo.aguilar@compropago.com
@@ -75,27 +75,27 @@ executables: []
75
75
  extensions: []
76
76
  extra_rdoc_files: []
77
77
  files:
78
- - ./lib/compropago_sdk.rb
79
- - ./lib/compropago_sdk/client.rb
80
- - ./lib/compropago_sdk/service.rb
81
- - ./lib/compropago_sdk/factory/factory.rb
82
- - ./lib/compropago_sdk/factory/serialize.rb
83
- - ./lib/compropago_sdk/factory/models/cp_order_info.rb
84
- - ./lib/compropago_sdk/factory/models/customer.rb
85
- - ./lib/compropago_sdk/factory/models/eval_auth_info.rb
86
- - ./lib/compropago_sdk/factory/models/exchange.rb
87
- - ./lib/compropago_sdk/factory/models/fee_details.rb
88
- - ./lib/compropago_sdk/factory/models/instruction_details.rb
89
- - ./lib/compropago_sdk/factory/models/instructions.rb
90
- - ./lib/compropago_sdk/factory/models/new_order_info.rb
91
- - ./lib/compropago_sdk/factory/models/order_info.rb
92
- - ./lib/compropago_sdk/factory/models/place_order_info.rb
93
- - ./lib/compropago_sdk/factory/models/provider.rb
94
- - ./lib/compropago_sdk/factory/models/sms_data.rb
95
- - ./lib/compropago_sdk/factory/models/sms_info.rb
96
- - ./lib/compropago_sdk/factory/models/sms_object.rb
97
- - ./lib/compropago_sdk/factory/models/webhook.rb
98
- - ./lib/compropago_sdk/tools/validations.rb
78
+ - "./lib/compropago_sdk.rb"
79
+ - "./lib/compropago_sdk/client.rb"
80
+ - "./lib/compropago_sdk/factory/factory.rb"
81
+ - "./lib/compropago_sdk/factory/models/cp_order_info.rb"
82
+ - "./lib/compropago_sdk/factory/models/customer.rb"
83
+ - "./lib/compropago_sdk/factory/models/eval_auth_info.rb"
84
+ - "./lib/compropago_sdk/factory/models/exchange.rb"
85
+ - "./lib/compropago_sdk/factory/models/fee_details.rb"
86
+ - "./lib/compropago_sdk/factory/models/instruction_details.rb"
87
+ - "./lib/compropago_sdk/factory/models/instructions.rb"
88
+ - "./lib/compropago_sdk/factory/models/new_order_info.rb"
89
+ - "./lib/compropago_sdk/factory/models/order_info.rb"
90
+ - "./lib/compropago_sdk/factory/models/place_order_info.rb"
91
+ - "./lib/compropago_sdk/factory/models/provider.rb"
92
+ - "./lib/compropago_sdk/factory/models/sms_data.rb"
93
+ - "./lib/compropago_sdk/factory/models/sms_info.rb"
94
+ - "./lib/compropago_sdk/factory/models/sms_object.rb"
95
+ - "./lib/compropago_sdk/factory/models/webhook.rb"
96
+ - "./lib/compropago_sdk/factory/serialize.rb"
97
+ - "./lib/compropago_sdk/service.rb"
98
+ - "./lib/compropago_sdk/tools/validations.rb"
99
99
  homepage: https://github.com/compropago/compropago-ruby
100
100
  licenses:
101
101
  - MIT
@@ -106,17 +106,17 @@ require_paths:
106
106
  - lib
107
107
  required_ruby_version: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - '>='
109
+ - - ">="
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  required_rubygems_version: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - '>='
114
+ - - ">="
115
115
  - !ruby/object:Gem::Version
116
116
  version: '0'
117
117
  requirements: []
118
118
  rubyforge_project:
119
- rubygems_version: 2.0.14.1
119
+ rubygems_version: 2.6.11
120
120
  signing_key:
121
121
  specification_version: 4
122
122
  summary: Gema para API ComproPago