astro_pay 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/astro_pay.rb +36 -3
- data/lib/astro_pay/card.rb +93 -61
- data/lib/astro_pay/configuration.rb +5 -1
- data/lib/astro_pay/curl.rb +12 -1
- data/lib/astro_pay/direct.rb +33 -4
- data/lib/astro_pay/model.rb +14 -0
- data/lib/astro_pay/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9acac83578a0e07585a44eeabb2010472c83b7c1
|
4
|
+
data.tar.gz: e7d42e5a332a57b4a6c6eff1cf7c670800fd06f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5304f7ebf8b1e8816004ed63616122479eaafd8b69d4632783205a618c137ecf147b0359af522905569736b464acd351d3c8c2699964ddd302c9fc54b2dce60f
|
7
|
+
data.tar.gz: 4e13f55415704634e69d00f07bb8f09fcbc3f00ba93f62c01453b797f179bccbac2ca01467adf83bf2801a8fb79d37b0da537995d01d837e77e9525192ec7cc2
|
data/lib/astro_pay.rb
CHANGED
@@ -23,25 +23,45 @@ module AstroPay
|
|
23
23
|
attr_writer :configuration
|
24
24
|
end
|
25
25
|
|
26
|
+
# Gets the configuration attribute.
|
27
|
+
#
|
28
|
+
# @return [AstroPay::Configuration] object.
|
26
29
|
def self.configuration
|
27
30
|
@configuration ||= Configuration.new
|
28
31
|
end
|
29
32
|
|
33
|
+
# Allows to set the configuration passing a block where the values are set.
|
30
34
|
def self.configure
|
31
35
|
yield(configuration)
|
32
36
|
end
|
33
37
|
|
38
|
+
# Gets a new [AstroPay::Direct] instance with the given arguments.
|
39
|
+
#
|
40
|
+
# @param args [Array] (See AstroPay::Direct#initialize).
|
41
|
+
# @return [AstroPay::Direct] object.
|
34
42
|
def self.direct(*args)
|
35
43
|
Direct.new(*args)
|
36
44
|
end
|
37
45
|
|
46
|
+
# Gets a new [AstroPay::Card] instance with the given arguments.
|
47
|
+
#
|
48
|
+
# @params args [Array] (See AstroPay::Card#initialize).
|
49
|
+
# @return [AstroPay::Card] object.
|
38
50
|
def self.card(*args)
|
39
51
|
Card.new(*args)
|
40
52
|
end
|
41
53
|
|
42
|
-
#
|
43
|
-
#
|
44
|
-
#
|
54
|
+
# Gets a new [AstroPay::Direct] instance with the given arguments and some
|
55
|
+
# optional values. See the AstroPay Direct Manual.
|
56
|
+
#
|
57
|
+
# @param invoice [String] unique transaction ID number at the merchant.
|
58
|
+
# @param amount [Float] the amount of the payment.
|
59
|
+
# @param iduser [String] user’s unique ID at the merchant / account number.
|
60
|
+
# @param country [String] country code.
|
61
|
+
# @param bank [String] bank code.
|
62
|
+
# @param sub_code [Int] mandatory parameter for PSPs.
|
63
|
+
# @param args [Hash] Other arguments.
|
64
|
+
# @return [AstroPay::Direct] object.
|
45
65
|
def self.create_direct(invoice, amount, iduser, country, bank='', sub_code=1, args={})
|
46
66
|
direct(
|
47
67
|
args.merge(
|
@@ -55,6 +75,19 @@ module AstroPay
|
|
55
75
|
).create
|
56
76
|
end
|
57
77
|
|
78
|
+
# Gets a new [AstroPay::Card] instance with the given arguments and some
|
79
|
+
# optional values. See the AstroPay Card Manual.
|
80
|
+
#
|
81
|
+
# @param number [String] AstroPay Card number.
|
82
|
+
# @param ccv [Int] AstroPay Card security code.
|
83
|
+
# @param exp_date [String] expiration date of AstroPay Card. Format: MM/YYYY
|
84
|
+
# @param amount [Float] transaction amount.
|
85
|
+
# @param bank [String] bank code.
|
86
|
+
# @param unique_id [String] unique, anonymized identifier of users in the
|
87
|
+
# merchant system.
|
88
|
+
# @param invoice_num [String] unique identifier of merchant transaction.
|
89
|
+
# @param additional_params [Hash] other arguments.
|
90
|
+
# @return [AstroPay::Card] object.
|
58
91
|
def self.create_card(number, ccv, exp_date, amount, unique_id, invoice_num, additional_params={})
|
59
92
|
card(
|
60
93
|
number: number,
|
data/lib/astro_pay/card.rb
CHANGED
@@ -8,11 +8,16 @@ module AstroPay
|
|
8
8
|
class Card < AstroPay::Model
|
9
9
|
|
10
10
|
# Input params
|
11
|
-
attr_accessor :approval_code, :number, :ccv, :exp_date
|
12
|
-
attr_accessor :
|
13
|
-
attr_accessor :additional_params, :type
|
11
|
+
attr_accessor :approval_code, :number, :ccv, :exp_date, :amount, :unique_id
|
12
|
+
attr_accessor :invoice_num, :transaction_id, :additional_params, :type
|
14
13
|
|
15
|
-
|
14
|
+
# Creates a new instance of [AstroPay::Card].
|
15
|
+
#
|
16
|
+
# @param attributes [Hash] with the following fields: :approval_code,
|
17
|
+
# :number, :ccv, :exp_date, :amount, :unique_id :invoice_num,
|
18
|
+
# :transaction_id, :additional_params, :type.
|
19
|
+
# @return [AstroPay::Card] object.
|
20
|
+
def initialize(args = {})
|
16
21
|
config = AstroPay.configuration
|
17
22
|
|
18
23
|
@x_login = config.card_x_login
|
@@ -21,12 +26,19 @@ module AstroPay
|
|
21
26
|
|
22
27
|
base_url = "https://#{'sandbox-' if @sandbox}api.astropaycard.com/"
|
23
28
|
|
24
|
-
|
25
|
-
@
|
26
|
-
|
27
|
-
@
|
29
|
+
# AstroPay API version (default "2.0")
|
30
|
+
@x_version = "2.0"
|
31
|
+
# Field delimiter (default "|")
|
32
|
+
@x_delim_char = "|"
|
33
|
+
# Change to N for production
|
34
|
+
@x_test_request = 'N'
|
35
|
+
# Time window of a transaction with the sames values is taken as
|
36
|
+
# duplicated (default 120)
|
37
|
+
@x_duplicate_window = 30
|
28
38
|
@x_method = "CC"
|
29
|
-
|
39
|
+
# Response format:
|
40
|
+
# "string", "json", "xml" (default: string; recommended: json)
|
41
|
+
@x_response_format = "json"
|
30
42
|
|
31
43
|
@additional_params = Hash.new
|
32
44
|
|
@@ -36,16 +48,20 @@ module AstroPay
|
|
36
48
|
@transtatus_url = "#{base_url}verif/transtatus"
|
37
49
|
end
|
38
50
|
|
39
|
-
#
|
51
|
+
# Requests AstroPay to AUTHORIZE a transaction.
|
40
52
|
#
|
41
|
-
#
|
42
|
-
#
|
43
|
-
#
|
44
|
-
#
|
45
|
-
#
|
46
|
-
#
|
47
|
-
#
|
48
|
-
#
|
53
|
+
# @note This method sends in the request the following data:
|
54
|
+
# 'number', AstroPay Card number (16 digits);
|
55
|
+
# 'ccv', AstroPay Card security code (CVV);
|
56
|
+
# 'exp_date', AstroPay Card expiration date;
|
57
|
+
# 'amount', Amount of the transaction;
|
58
|
+
# 'unique_id', Unique user ID of the merchant;
|
59
|
+
# 'invoice_num', Merchant transaction identifier, i.e. the order
|
60
|
+
# number;
|
61
|
+
# 'additional_params', Array of additional info that you would send
|
62
|
+
# to AstroPay for reference purpose.
|
63
|
+
# @return [Hash] response by AstroPay capture API. Please see section 3.1.3
|
64
|
+
# "Response" of AstroPay Card integration manual for more info.
|
49
65
|
def auth_transaction
|
50
66
|
data = full_params.merge(
|
51
67
|
'x_unique_id' => unique_id,
|
@@ -56,17 +72,11 @@ module AstroPay
|
|
56
72
|
astro_curl(@validator_url, data)
|
57
73
|
end
|
58
74
|
|
59
|
-
#
|
75
|
+
# Requests AstroPay to CAPTURE the previous authorized transaction.
|
60
76
|
#
|
61
|
-
#
|
62
|
-
#
|
63
|
-
#
|
64
|
-
# exp_date AstroPay Card expiration date
|
65
|
-
# amount Amount of the transaction
|
66
|
-
# unique_id Unique user ID of the merchant
|
67
|
-
# invoice_num Merchant transaction identificator, i.e. the order number
|
68
|
-
# additional_params Array of additional info that you would send to AstroPay for reference purpose.
|
69
|
-
# return json returned by AstroPay capture API. Please see section 3.1.3 "Response" of AstroPay Card integration manual for more info
|
77
|
+
# @note (See #auth_transaction) to known the data sent on the request.
|
78
|
+
# @return [Hash] response by AstroPay capture API. Please see section 3.1.3
|
79
|
+
# "Response" of AstroPay Card integration manual for more info.
|
70
80
|
def capture_transaction
|
71
81
|
data = full_params.merge(
|
72
82
|
'x_unique_id' => unique_id,
|
@@ -78,16 +88,12 @@ module AstroPay
|
|
78
88
|
astro_curl(@validator_url, data)
|
79
89
|
end
|
80
90
|
|
81
|
-
#
|
91
|
+
# Requests AstroPay to AUTHORIZE and CAPTURE a transaction at the same time
|
92
|
+
# (if it is possible).
|
82
93
|
#
|
83
|
-
#
|
84
|
-
#
|
85
|
-
#
|
86
|
-
# amount Amount of the transaction
|
87
|
-
# unique_id Unique user ID of the merchant
|
88
|
-
# invoice_num Merchant transaction identificator, i.e. the order number
|
89
|
-
# additional_params Array of additional info that you would send to AstroPay for reference purpose.
|
90
|
-
# return json returned by AstroPay capture API. Please see section 3.1.3 "Response" of AstroPay Card integration manual for more info
|
94
|
+
# @note (See #auth_transaction) to known the data sent on the request.
|
95
|
+
# @return [Hash] response by AstroPay capture API. Please see section 3.1.3
|
96
|
+
# "Response" of AstroPay Card integration manual for more info.
|
91
97
|
def auth_capture_transaction
|
92
98
|
data = full_params.merge(
|
93
99
|
'x_unique_id' => unique_id,
|
@@ -98,15 +104,13 @@ module AstroPay
|
|
98
104
|
astro_curl(@validator_url, data)
|
99
105
|
end
|
100
106
|
|
101
|
-
#
|
107
|
+
# Requests AstroPay to REFUND a transaction.
|
102
108
|
#
|
103
|
-
# transaction_id merchant invoice number
|
104
|
-
#
|
105
|
-
#
|
106
|
-
#
|
107
|
-
#
|
108
|
-
# additional_params Array of additional info that you would send to AstroPay for reference purpose.
|
109
|
-
# return json returned by AstroPay capture API. Please see section 3.2.2 "Response" of AstroPay Card integration manual for more info
|
109
|
+
# @note This request includes the transaction_id merchant invoice number
|
110
|
+
# sent in previous call of capture_transaction or auth_transaction.
|
111
|
+
# (See #auth_transaction) to known the data sent on the request.
|
112
|
+
# @return [Hash] response by AstroPay capture API. Please see section 3.1.3
|
113
|
+
# "Response" of AstroPay Card integration manual for more info.
|
110
114
|
def refund_transaction
|
111
115
|
data = full_params.merge(
|
112
116
|
'x_trans_id' => transaction_id,
|
@@ -116,15 +120,13 @@ module AstroPay
|
|
116
120
|
astro_curl(@validator_url, data)
|
117
121
|
end
|
118
122
|
|
119
|
-
# VOID a transaction
|
123
|
+
# Requests AstroPay to VOID a transaction.
|
120
124
|
#
|
121
|
-
# transaction_id merchant invoice number
|
122
|
-
#
|
123
|
-
#
|
124
|
-
#
|
125
|
-
#
|
126
|
-
# additional_params Array of additional info that you would send to AstroPay for reference purpose.
|
127
|
-
# return json returned by AstroPay capture API. Please see section 3.2.2 "Response" of AstroPay Card integration manual for more info
|
125
|
+
# @note This request includes the transaction_id merchant invoice number
|
126
|
+
# sent in previous call of capture_transaction or auth_transaction.
|
127
|
+
# (See #auth_transaction) to known the data sent on the request.
|
128
|
+
# @return [Hash] response by AstroPay capture API. Please see section 3.1.3
|
129
|
+
# "Response" of AstroPay Card integration manual for more info.
|
128
130
|
def void_transaction
|
129
131
|
data = full_params.merge(
|
130
132
|
'x_trans_id' => transaction_id,
|
@@ -134,11 +136,14 @@ module AstroPay
|
|
134
136
|
astro_curl(@validator_url, data)
|
135
137
|
end
|
136
138
|
|
137
|
-
#
|
139
|
+
# Requests AstroPay the status of a transaction.
|
138
140
|
#
|
139
|
-
#
|
140
|
-
#
|
141
|
-
#
|
141
|
+
# @note This request includes the basic credentials data and the following
|
142
|
+
# fields:
|
143
|
+
# 'invoice_num', The merchant id sent in the transaction;
|
144
|
+
# 'type', 0 for basic info, 1 for detailed info.
|
145
|
+
# @return [Hash] response by AstroPay capture API. Please see section 3.1.3
|
146
|
+
# "Response" of AstroPay Card integration manual for more info.
|
142
147
|
def check_transaction_status
|
143
148
|
data = basic_credentials.merge(
|
144
149
|
'x_trans_key' => @x_trans_key,
|
@@ -149,16 +154,32 @@ module AstroPay
|
|
149
154
|
astro_curl(@transtatus_url, data)
|
150
155
|
end
|
151
156
|
|
152
|
-
|
153
|
-
|
157
|
+
# Makes a request to the AstroPay API.
|
158
|
+
#
|
159
|
+
# @param url [String] endpoint for the AstroPay API.
|
160
|
+
# @param params [Hash] data and options for the request.
|
161
|
+
# @return [Hash] of the successful response or [String] of the response if
|
162
|
+
# an error rises.
|
163
|
+
def astro_curl(url, params)
|
164
|
+
AstroPay::Curl.post(url, params)
|
154
165
|
end
|
155
166
|
|
167
|
+
# Generates an hexadecimal code intended to be used in the checksum of the
|
168
|
+
# messages received.
|
169
|
+
#
|
170
|
+
# @param transaction_id [String] merchant's id for the transaction.
|
171
|
+
# @param amount [Float] of the transaction.
|
172
|
+
# @return [String] of 64 uppercase characters.
|
156
173
|
def calculate_control(transaction_id, amount)
|
157
|
-
Digest::MD5.hexdigest("#{@x_login}#{transaction_id}#{amount}")
|
174
|
+
Digest::MD5.hexdigest("#{@x_login}#{transaction_id}#{amount}")
|
158
175
|
end
|
159
176
|
|
160
177
|
private
|
161
178
|
|
179
|
+
# Sets a collection with the basic credentials for the AstroPay API.
|
180
|
+
#
|
181
|
+
# @return [Hash] Please see section 3.4 of the AstroPay Card integration
|
182
|
+
# manual for more info.
|
162
183
|
def basic_credentials
|
163
184
|
{
|
164
185
|
'x_login' => @x_login,
|
@@ -169,6 +190,9 @@ module AstroPay
|
|
169
190
|
}
|
170
191
|
end
|
171
192
|
|
193
|
+
# Sets a collection with the complete credentials for the AstroPay API.
|
194
|
+
#
|
195
|
+
# @return [Hash] See the AstroPay Card integration manual for more info.
|
172
196
|
def full_credentials
|
173
197
|
basic_credentials.merge(
|
174
198
|
'x_method' => @x_method,
|
@@ -177,6 +201,9 @@ module AstroPay
|
|
177
201
|
)
|
178
202
|
end
|
179
203
|
|
204
|
+
# Sets a collection with the basic data of an AstroPay card.
|
205
|
+
#
|
206
|
+
# @return [Hash] See the AstroPay Card integration manual for more info.
|
180
207
|
def basic_variables
|
181
208
|
{
|
182
209
|
'x_card_num' => number,
|
@@ -186,6 +213,11 @@ module AstroPay
|
|
186
213
|
}
|
187
214
|
end
|
188
215
|
|
216
|
+
# Sets a collection with the credentials, the card data and additional
|
217
|
+
# parameters to be used on API calls.
|
218
|
+
#
|
219
|
+
# @return [Hash] See #basic_credential, #full_credentials and
|
220
|
+
# #basic_variables.
|
189
221
|
def full_params
|
190
222
|
full_credentials.merge(
|
191
223
|
additional_params
|
@@ -194,4 +226,4 @@ module AstroPay
|
|
194
226
|
)
|
195
227
|
end
|
196
228
|
end
|
197
|
-
end
|
229
|
+
end
|
@@ -10,9 +10,13 @@ module AstroPay
|
|
10
10
|
#Optional attributes
|
11
11
|
attr_accessor :sandbox, :enable_ssl
|
12
12
|
|
13
|
+
# Creates a new instance of [AstroPay::Configuration].
|
14
|
+
#
|
15
|
+
# @param attributes [Hash] with the following fields: :error, :message.
|
16
|
+
# @return [AstroPay::Configuration] instance.
|
13
17
|
def initialize
|
14
18
|
@sandbox = true
|
15
19
|
@enable_ssl = true
|
16
20
|
end
|
17
21
|
end
|
18
|
-
end
|
22
|
+
end
|
data/lib/astro_pay/curl.rb
CHANGED
@@ -1,9 +1,20 @@
|
|
1
1
|
module AstroPay
|
2
2
|
class Curl
|
3
|
+
|
4
|
+
# Gets the configuration flag for SSL use with Astropay connections.
|
5
|
+
#
|
6
|
+
# @return [Boolean]
|
3
7
|
def self.enable_ssl
|
4
8
|
AstroPay.configuration.enable_ssl
|
5
9
|
end
|
6
10
|
|
11
|
+
# Performs a POST request to the given URL with the given parameters.
|
12
|
+
# @param url [String] to where the request will be made.
|
13
|
+
# @param params_hash [Hash] parameters to be sent with the request.
|
14
|
+
# @return [Hash] of the response or, if an error rises, [String] of
|
15
|
+
# the response content.
|
16
|
+
# @note When SSL is enabled, no certificate is actually verified due to
|
17
|
+
# SSLv3 incompatibilities.
|
7
18
|
def self.post(url, params_hash)
|
8
19
|
uri = URI.parse(url)
|
9
20
|
http = Net::HTTP.new(uri.host, uri.port)
|
@@ -24,4 +35,4 @@ module AstroPay
|
|
24
35
|
end
|
25
36
|
end
|
26
37
|
end
|
27
|
-
end
|
38
|
+
end
|
data/lib/astro_pay/direct.rb
CHANGED
@@ -12,7 +12,13 @@ module AstroPay
|
|
12
12
|
attr_accessor :description, :cpf, :sub_code, :return_url, :confirmation_url
|
13
13
|
attr_accessor :response_type
|
14
14
|
|
15
|
-
|
15
|
+
# Creates a new instance of [AstroPay::Direct].
|
16
|
+
#
|
17
|
+
# @param attributes [Hash] with the following fields: :invoice, :amount,
|
18
|
+
# :iduser, :bank, :country, :currency, :description, :cpf,
|
19
|
+
# :sub_code, :return_url, :confirmation_url.
|
20
|
+
# @return [AstroPay::Direct] object.
|
21
|
+
def initialize(args = {})
|
16
22
|
config = AstroPay.configuration
|
17
23
|
|
18
24
|
@x_login = config.direct_x_login
|
@@ -35,6 +41,11 @@ module AstroPay
|
|
35
41
|
}
|
36
42
|
end
|
37
43
|
|
44
|
+
# Creates a new transaction.
|
45
|
+
#
|
46
|
+
# @return [Hash] of the response that includes the URL to where an user
|
47
|
+
# should be redirected to validate and complete the process. If
|
48
|
+
# there is an error, the [String] response is returned.
|
38
49
|
def create
|
39
50
|
params_hash = {
|
40
51
|
'x_login' => @x_login,
|
@@ -64,9 +75,13 @@ module AstroPay
|
|
64
75
|
astro_curl(@astro_urls['create'], params_hash)
|
65
76
|
end
|
66
77
|
|
78
|
+
# Requests a list of valid banks by country.
|
79
|
+
#
|
80
|
+
# @return [Hash] of the response that includes the list of banks. If there
|
81
|
+
# is an error, the [String] response is returned.
|
67
82
|
def get_banks_by_country
|
68
83
|
params_hash = {
|
69
|
-
#Mandatory
|
84
|
+
# Mandatory
|
70
85
|
'x_login' => @x_login,
|
71
86
|
'x_trans_key' => @x_trans_key,
|
72
87
|
'country_code' => country,
|
@@ -76,9 +91,13 @@ module AstroPay
|
|
76
91
|
astro_curl(@astro_urls['banks'], params_hash)
|
77
92
|
end
|
78
93
|
|
94
|
+
# Requests the status of a transaction.
|
95
|
+
#
|
96
|
+
# @return [Hash] of the response that includes the transaction status. If
|
97
|
+
# there is an error, the [String] response is returned.
|
79
98
|
def get_invoice_status
|
80
99
|
params_hash = {
|
81
|
-
#Mandatory
|
100
|
+
# Mandatory
|
82
101
|
'x_login' => @x_login_for_webpaystatus,
|
83
102
|
'x_trans_key' => @x_trans_key_for_webpaystatus,
|
84
103
|
'x_invoice' => invoice,
|
@@ -88,9 +107,13 @@ module AstroPay
|
|
88
107
|
astro_curl(@astro_urls['status'], params_hash)
|
89
108
|
end
|
90
109
|
|
110
|
+
# Requests the exchange rate from USD to the currency of a target country.
|
111
|
+
#
|
112
|
+
# @return [Hash] of the response that includes the exchange rate. If there
|
113
|
+
# is an error, the [String] response is returned.
|
91
114
|
def get_exchange
|
92
115
|
params_hash = {
|
93
|
-
#Mandatory
|
116
|
+
# Mandatory
|
94
117
|
'x_login' => @x_login_for_webpaystatus,
|
95
118
|
'x_trans_key' => @x_trans_key_for_webpaystatus,
|
96
119
|
'x_country' => country,
|
@@ -100,6 +123,12 @@ module AstroPay
|
|
100
123
|
astro_curl(@astro_urls['exchange'], params_hash)
|
101
124
|
end
|
102
125
|
|
126
|
+
# Makes a request to the AstroPay API.
|
127
|
+
#
|
128
|
+
# @param url [String] endpoint for the AstroPay API.
|
129
|
+
# @param params [Hash] data and options for the request.
|
130
|
+
# @return [Hash] of the successful response or [String] of the response if
|
131
|
+
# an error rises.
|
103
132
|
def astro_curl(url, params_hash)
|
104
133
|
AstroPay::Curl.post(url, params_hash)
|
105
134
|
end
|
data/lib/astro_pay/model.rb
CHANGED
@@ -6,10 +6,20 @@ module AstroPay
|
|
6
6
|
include ActiveModel::Conversion
|
7
7
|
extend ActiveModel::Naming
|
8
8
|
|
9
|
+
# Creates a new instance of [AstroPay::Model].
|
10
|
+
#
|
11
|
+
# @param attributes [Hash] with the following fields: :error, :message.
|
12
|
+
# @return [AstroPay::Model] object.
|
9
13
|
def initialize(attributes = {})
|
10
14
|
self.attributes = attributes
|
11
15
|
end
|
12
16
|
|
17
|
+
# Sets a given hash values as attribute values for the class. It will try
|
18
|
+
# to match the keys of the hash to existent attributes that have accessors.
|
19
|
+
#
|
20
|
+
# @param attributes [Hash]
|
21
|
+
# @note If raised, [NoMethodError] will be caught and a message will be
|
22
|
+
# printed to the standard output.
|
13
23
|
def attributes=(attributes = {})
|
14
24
|
attributes.each do |name, value|
|
15
25
|
begin
|
@@ -20,6 +30,10 @@ module AstroPay
|
|
20
30
|
end
|
21
31
|
end
|
22
32
|
|
33
|
+
# Gets the instance attributes.
|
34
|
+
#
|
35
|
+
# @return [Hash] with the attribute name as key, and the attribute value as
|
36
|
+
# value.
|
23
37
|
def attributes
|
24
38
|
Hash[instance_variables.map { |name| [name, instance_variable_get(name)] }]
|
25
39
|
end
|
data/lib/astro_pay/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: astro_pay
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luis Galaviz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|