rents 0.0.0 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +4 -0
- data/bin/bundle +3 -0
- data/bin/rails +4 -0
- data/bin/rake +4 -0
- data/lib/rents/connection.rb +90 -0
- data/lib/rents/hash.rb +55 -0
- data/lib/rents/status.rb +28 -0
- data/lib/rents/transaction.rb +57 -0
- data/lib/rents/version.rb +4 -1
- data/lib/rents.rb +30 -5
- data/modelagem/Sequence - APIClient.asta +0 -0
- data/modelagem/Structure - ClassDiagram.asta +0 -0
- data/modelagem/useful_files/card_operators/cielo/test_cards.txt +11 -0
- data/modelagem/useful_files/card_operators/cielo/test_keys.txt +3 -0
- data/rents.gemspec +14 -1
- data/spec/helpers.rb +23 -0
- data/spec/rents/rents_spec.rb +12 -0
- data/spec/rents/status_spec.rb +12 -0
- data/spec/rents/transaction_spec.rb +94 -0
- data/spec/spec_helper.rb +18 -0
- metadata +113 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3870b6ddef5435fb81b227dbf0451e717aa20db6
|
4
|
+
data.tar.gz: fa42db010bcd1d33566b63f5718a6d0686239c47
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8cdf494009273304c21956a32967e515b40f2dd711645f5b79208b018715018c0281ff2ef90c713aebf57cb85c5d08302336b8db432039d963f7e8745d9b2643
|
7
|
+
data.tar.gz: f412aa1a707430d7e0d6836170e904a628273f22455dab6ddd36173fff4dfd27e760f10e78a9e7fab15d5bd538779fefc4b7a3a5eb243be33248e49f1f7d3b93
|
data/.gitignore
CHANGED
data/bin/bundle
ADDED
data/bin/rails
ADDED
data/bin/rake
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
module Rents
|
2
|
+
class Connection
|
3
|
+
# Attrs
|
4
|
+
attr_accessor :auth
|
5
|
+
attr_accessor :path
|
6
|
+
attr_accessor :domain
|
7
|
+
attr_accessor :end_point
|
8
|
+
attr_accessor :api_version
|
9
|
+
attr_accessor :request_params
|
10
|
+
attr_accessor :end_point_versioned
|
11
|
+
|
12
|
+
# Constructor
|
13
|
+
def initialize(params = {})
|
14
|
+
# Static part
|
15
|
+
self.request_params = {transaction:params}
|
16
|
+
setup_attrs(params)
|
17
|
+
setup_config
|
18
|
+
self.domain = 'localhost:7000' #'rents.pagerenter.com.br'
|
19
|
+
self.api_version = 'v1'
|
20
|
+
self.end_point = "http://#{self.domain}/api"
|
21
|
+
self.end_point_versioned = "http://#{self.domain}/api/#{self.api_version}"
|
22
|
+
|
23
|
+
# Dynamic env
|
24
|
+
setup_default_app unless params[:test_env].nil?
|
25
|
+
end
|
26
|
+
|
27
|
+
# Full URL for the last request
|
28
|
+
def url_requested
|
29
|
+
"#{self.end_point}/#{self.api_version}/#{self.path}"
|
30
|
+
end
|
31
|
+
|
32
|
+
# ============== HTTP REQUESTs METHODs ==============
|
33
|
+
# GET
|
34
|
+
def get_request
|
35
|
+
RestClient.get self.url_requested
|
36
|
+
end
|
37
|
+
|
38
|
+
def get_json_request
|
39
|
+
return JSON.parse(RestClient.get(self.url_requested)).it_keys_to_sym
|
40
|
+
end
|
41
|
+
|
42
|
+
# POST
|
43
|
+
def post_request
|
44
|
+
RestClient.post self.url_requested, self.request_params
|
45
|
+
end
|
46
|
+
|
47
|
+
def post_json_request
|
48
|
+
return JSON.parse(RestClient.post(self.url_requested, self.request_params)).it_keys_to_sym
|
49
|
+
end
|
50
|
+
|
51
|
+
# CALLBACKs
|
52
|
+
private
|
53
|
+
# Config Attrs
|
54
|
+
def setup_config
|
55
|
+
self.auth = {app_id:Rents.app_id, secret_key:Rents.secret_key}
|
56
|
+
self.request_params.merge!(auth:self.auth)
|
57
|
+
end
|
58
|
+
|
59
|
+
# SetUp a default app
|
60
|
+
def setup_default_app
|
61
|
+
# setup test_app path
|
62
|
+
self.path = 'global_app'
|
63
|
+
|
64
|
+
# Get the App & setup config
|
65
|
+
app = get_json_request[:app]
|
66
|
+
Rents.app_id = app[:id]
|
67
|
+
Rents.secret_key = app[:secret]
|
68
|
+
self.auth = {app_id:Rents.app_id, secret_key:Rents.secret_key}
|
69
|
+
self.request_params.merge!(auth:self.auth)
|
70
|
+
end
|
71
|
+
|
72
|
+
# SetUp all attrs
|
73
|
+
def setup_attrs(params)
|
74
|
+
# Dynamic part
|
75
|
+
params.each do |key, value|
|
76
|
+
next unless key.to_s.index('[]').nil?
|
77
|
+
self.class.__send__(:attr_accessor, :"#{key}")
|
78
|
+
self.__send__("#{key}=", value)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
# HTTPs must have '[]' on it key name to send Array
|
83
|
+
def custom_http_params
|
84
|
+
return if self.sold_items.nil?
|
85
|
+
self.sold_items.each_with_index do |sold_item, i|
|
86
|
+
self.request_params[:transaction]["sold_items[#{i}]"] = sold_item
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
data/lib/rents/hash.rb
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
# Override ruby Hash Obj
|
2
|
+
class Hash
|
3
|
+
# Attr to be external accessible
|
4
|
+
attr_accessor :get_url_params
|
5
|
+
|
6
|
+
# Convert string keys to symbol keys
|
7
|
+
def it_keys_to_sym
|
8
|
+
self.keys.each do |key|
|
9
|
+
self[key].it_keys_to_sym if self[key].is_a?(Hash)
|
10
|
+
self[(key.to_sym rescue key) || key] = self.delete(key)
|
11
|
+
end
|
12
|
+
|
13
|
+
return self
|
14
|
+
end
|
15
|
+
|
16
|
+
# Convert it keys to get params
|
17
|
+
def it_keys_to_get_param
|
18
|
+
self.it_keys_to_sym
|
19
|
+
self.get_url_params = '?' if self.get_url_params.nil?
|
20
|
+
|
21
|
+
self.keys.each do |key|
|
22
|
+
self.get_url_params = self.get_url_params+'&' unless self.get_url_params.length == 1
|
23
|
+
|
24
|
+
# Nested obj_attrs
|
25
|
+
if self[key].is_a?(Hash)
|
26
|
+
hash_name = key
|
27
|
+
hash_obj = self[key]
|
28
|
+
|
29
|
+
# Hash to GET URL
|
30
|
+
param = to_nested_get_param hash_name, hash_obj
|
31
|
+
end
|
32
|
+
|
33
|
+
self.get_url_params = self.get_url_params+param
|
34
|
+
end
|
35
|
+
|
36
|
+
# Remove the last char: &
|
37
|
+
return self.get_url_params[0..self.get_url_params.length-2]
|
38
|
+
end
|
39
|
+
|
40
|
+
# SetUp a hash to hash URL GET
|
41
|
+
def to_nested_get_param hash_name, hash_obj
|
42
|
+
# initial value
|
43
|
+
get_nested_params = ''
|
44
|
+
|
45
|
+
# foreach keys to mount the URL_PARAM
|
46
|
+
hash_obj.keys.each do |key|
|
47
|
+
key_param = hash_obj[key].to_nested_get_param key, hash_obj[key] if hash_obj[key].is_a?(Hash)
|
48
|
+
key_param = "#{hash_name}[#{key}]=#{hash_obj[key]}&" unless hash_obj[key].is_a?(Hash)
|
49
|
+
get_nested_params = get_nested_params+key_param
|
50
|
+
end
|
51
|
+
|
52
|
+
# return
|
53
|
+
get_nested_params
|
54
|
+
end
|
55
|
+
end
|
data/lib/rents/status.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
module Rents
|
2
|
+
class Status < Rents::Connection
|
3
|
+
# Attrs
|
4
|
+
attr_accessor :message # API response message
|
5
|
+
attr_accessor :http_code # HTTP Code for the request
|
6
|
+
attr_accessor :api_code # Internal system response code
|
7
|
+
|
8
|
+
# Constructor
|
9
|
+
def initialize(params = {})
|
10
|
+
super # call it super initialize
|
11
|
+
self.path = "status"
|
12
|
+
check_it
|
13
|
+
end
|
14
|
+
|
15
|
+
# Check it status and "setup" it attrs
|
16
|
+
def check_it
|
17
|
+
self.path = 'status'
|
18
|
+
resp = get_request
|
19
|
+
hash_resp = JSON.parse(resp).it_keys_to_sym
|
20
|
+
self.http_code = resp.code
|
21
|
+
self.message = "EndPoint not response(connection error): #{self.url_requested}" if self.http_code != 200
|
22
|
+
self.message = hash_resp[:message] if self.http_code == 200
|
23
|
+
self.api_code = hash_resp[:api_code]
|
24
|
+
|
25
|
+
return self
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
module Rents
|
2
|
+
# Transaction Obj, but can Abstract nested objs like Costumer
|
3
|
+
class Transaction < Rents::Connection
|
4
|
+
attr_accessor :resp
|
5
|
+
attr_accessor :status # can be API Status: self.status = Rents::Status.new OR/AND Transaction Status
|
6
|
+
attr_accessor :sold_items
|
7
|
+
|
8
|
+
# Constructor
|
9
|
+
def initialize(params = {})
|
10
|
+
super # super init call
|
11
|
+
# Base redirect_link if test_env is set (so the redirect is just appended)
|
12
|
+
self.redirect_link = "#{self.end_point_versioned}/transactions" if params[:test_env]
|
13
|
+
end
|
14
|
+
|
15
|
+
# Return it RID easily
|
16
|
+
def rid
|
17
|
+
self.resp[:rid]
|
18
|
+
end
|
19
|
+
|
20
|
+
# GET /api/transactions/:rid by it attr
|
21
|
+
def verify
|
22
|
+
auth_hash = {}
|
23
|
+
auth_hash[:auth] = self.request_params[:auth]
|
24
|
+
if self.rid.nil? then return {error:'RID not received'} else self.path = "transactions/#{self.rid}/#{auth_hash.it_keys_to_get_param}" end
|
25
|
+
return self.get_json_request
|
26
|
+
end
|
27
|
+
|
28
|
+
# POST /api/transactions/page return operator page URL, like the Cielo Page
|
29
|
+
def charge_page full_resp=false
|
30
|
+
custom_http_params
|
31
|
+
# SetUp redirect dynamic if is test
|
32
|
+
self.request_params[:transaction][:redirect_link] = "#{self.redirect_link}/test" if self.request_params[:transaction][:test_env]
|
33
|
+
|
34
|
+
# dynamic path (it is written when a specific method use it)
|
35
|
+
self.path = "transactions/page"
|
36
|
+
|
37
|
+
# using json_request because need only the answer (do not use something like it HTTP Code)
|
38
|
+
self.resp = self.post_json_request unless full_resp
|
39
|
+
self.resp = self.post_request if full_resp
|
40
|
+
return self.resp
|
41
|
+
end
|
42
|
+
|
43
|
+
# TODO create charge works like a buy_store
|
44
|
+
=begin
|
45
|
+
# POST /api/transactions
|
46
|
+
def charge_store
|
47
|
+
self.path = "transactions"
|
48
|
+
self.status = self.post_request
|
49
|
+
end
|
50
|
+
=end
|
51
|
+
|
52
|
+
# ================ STATICs ================
|
53
|
+
# GET /api/transactions/:rid by the rid passed
|
54
|
+
def self.find rid
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
data/lib/rents/version.rb
CHANGED
data/lib/rents.rb
CHANGED
@@ -1,9 +1,34 @@
|
|
1
|
-
#
|
1
|
+
# Libs/Gems or Ruby classes
|
2
|
+
require 'json'
|
3
|
+
require 'curl'
|
4
|
+
require 'rest_client'
|
5
|
+
|
6
|
+
# Overrides
|
7
|
+
require 'rents/hash'
|
8
|
+
|
9
|
+
# Gem files
|
10
|
+
require "rents/version"
|
11
|
+
require "rents/connection"
|
12
|
+
require "rents/status"
|
13
|
+
require "rents/transaction"
|
2
14
|
|
3
15
|
module Rents
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
16
|
+
@@app_id = nil
|
17
|
+
@@secret_key = nil
|
18
|
+
|
19
|
+
def self.app_id=(app_id)
|
20
|
+
@@app_id = app_id
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.app_id
|
24
|
+
@@app_id
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.secret_key=(secret_key)
|
28
|
+
@@secret_key = secret_key
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.secret_key
|
32
|
+
@@secret_key
|
8
33
|
end
|
9
34
|
end
|
Binary file
|
Binary file
|
@@ -0,0 +1,11 @@
|
|
1
|
+
BANDEIRA | Autenticação | Número Cartão | Validade | Cod. Segurança
|
2
|
+
VISA | OK | 4012001037141112 | 05/2018 | 123
|
3
|
+
MASTER | OK | 5453010000066167 | 05/2018 | 123
|
4
|
+
VISA | NO | 4012001038443335 | 05/2018 | 123
|
5
|
+
MASTER | NO | 5453010000066167 | 05/2018 | 123
|
6
|
+
AMERICAN EXP| NO | 376449047333005 | 05/2018 | 1234
|
7
|
+
ELO | NO | 6362970000457013 | 05/2018 | 123
|
8
|
+
DINNERS | NO | 36490102462661 | 05/2018 | 123
|
9
|
+
DISCOVER | NO | 6011020000245045 | 05/2018 | 123
|
10
|
+
JCB | NO | 3566007770004971 | 05/2018 | 123
|
11
|
+
AURA | NO |5078601912345600019| 05/2018 | 123
|
data/rents.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["ilton_unb@hotmail.com"]
|
11
11
|
spec.summary = 'Rent$ payment Gateway & Intermediary ruby gem'
|
12
12
|
spec.description = 'Ruby gem for Rent$ payment Gateway & Intermediary'
|
13
|
-
spec.homepage = "http://
|
13
|
+
spec.homepage = "http://pagerents.github.io/rents-sdk-ruby"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0")
|
@@ -20,4 +20,17 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.6"
|
22
22
|
spec.add_development_dependency "rake"
|
23
|
+
|
24
|
+
# RSpec for tests
|
25
|
+
spec.add_development_dependency "rspec"
|
26
|
+
# Coverage
|
27
|
+
spec.add_development_dependency 'simplecov', '~> 0.7.1'
|
28
|
+
# Create readable attrs values
|
29
|
+
spec.add_development_dependency 'faker', '~> 1.4.2'
|
30
|
+
# For real user operator IP (4GeoLoc)
|
31
|
+
spec.add_dependency 'curb'
|
32
|
+
# HTTP REST Client
|
33
|
+
spec.add_dependency "rest-client"
|
34
|
+
# Easy JSON create
|
35
|
+
spec.add_dependency "multi_json"
|
23
36
|
end
|
data/spec/helpers.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
module Helpers
|
2
|
+
def accessible? url
|
3
|
+
resp = RestClient.get url
|
4
|
+
resp.code == 200 ? true : false
|
5
|
+
end
|
6
|
+
|
7
|
+
def fake_sold_items
|
8
|
+
sold_items = []
|
9
|
+
|
10
|
+
count = 0
|
11
|
+
items_amount = 3
|
12
|
+
|
13
|
+
until count == items_amount do
|
14
|
+
count = count+1
|
15
|
+
sold_items.push({
|
16
|
+
remote_id: Faker::Number.number(count),
|
17
|
+
name: Faker::Commerce.product_name
|
18
|
+
})
|
19
|
+
end
|
20
|
+
|
21
|
+
return sold_items
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Rents::Status do
|
4
|
+
describe 'API' do
|
5
|
+
it 'should be running correctly' do
|
6
|
+
status = Rents::Status.new
|
7
|
+
expect(status.http_code).to equal(200)
|
8
|
+
expect(status.api_code).to equal(200)
|
9
|
+
expect(status.message).not_to be nil
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Rents::Transaction do
|
4
|
+
# OK Operator Page tests
|
5
|
+
describe '(SUCCESS REQUEST) Operator - BuyPage' do
|
6
|
+
# ================ SetUp/Config ================
|
7
|
+
before(:all) do
|
8
|
+
base_url = 'http://localhost:7000'
|
9
|
+
|
10
|
+
@api_status = Rents::Status.new({
|
11
|
+
test_env:true
|
12
|
+
})
|
13
|
+
|
14
|
+
@page_transaction = Rents::Transaction.new({
|
15
|
+
test_env:true,
|
16
|
+
card:{flag:'visa'},
|
17
|
+
amount: Random.rand(99999), # TODO: no error por rand menor que 99 (* mandatory) Amount in cents (1000 = R$ 10,00)
|
18
|
+
redirect_link: "#{base_url}/api/redirect_receiver" # (* optional) used only for CieloPage
|
19
|
+
})
|
20
|
+
|
21
|
+
# Fake SoldItems added
|
22
|
+
@page_transaction.sold_items = fake_sold_items
|
23
|
+
|
24
|
+
# Send BuyPage
|
25
|
+
@page_resp = @page_transaction.charge_page
|
26
|
+
end
|
27
|
+
|
28
|
+
# ================ Tests/Expects/Should ================
|
29
|
+
it 'resp should not be null' do
|
30
|
+
@page_resp.should_not be_nil
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'resp should not have any error' do
|
34
|
+
error = @page_resp[:error]
|
35
|
+
error = @page_resp['error'] if error.nil?
|
36
|
+
error.should be_nil
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'resp should be an accessible Operator URL' do
|
40
|
+
url = @page_resp['purchase_url']
|
41
|
+
url = @page_resp[:purchase_url] if url.nil?
|
42
|
+
|
43
|
+
url.should_not be_nil
|
44
|
+
be_accessible(url).should be_true
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'must be verifiable' do
|
48
|
+
# SetUps
|
49
|
+
verify_resp = @page_transaction.verify
|
50
|
+
error = verify_resp[:error]
|
51
|
+
error = verify_resp['error'] if error.nil?
|
52
|
+
|
53
|
+
# Validations
|
54
|
+
verify_resp.should_not be_nil
|
55
|
+
error.should be_nil
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'must have a get accessible URL request' do
|
59
|
+
be_accessible(@page_transaction.url_requested+@page_transaction.request_params.it_keys_to_get_param).should be_true
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
# NOT_OK Operator Page tests
|
64
|
+
describe '(BAD REQUEST) Operator - BuyPage' do
|
65
|
+
# SetUp/Config
|
66
|
+
before(:each) do
|
67
|
+
Rents.app_id = 1
|
68
|
+
Rents.secret_key = '12312321312$2a$10$NmV9EysKVLe8ItBdl9CHN.LF05bOuDdoOkmfptdbJs7cuaDWksuUu'
|
69
|
+
base_url = 'http://localhost:7000'
|
70
|
+
|
71
|
+
# Not using test_env (so using a app passed not the global app)
|
72
|
+
@page_transaction = Rents::Transaction.new({
|
73
|
+
card:{flag:'visa'},
|
74
|
+
amount: Random.rand(99999), # TODO: no error por rand menor que 99 (* mandatory) Amount in cents (1000 = R$ 10,00)
|
75
|
+
redirect_link: "#{base_url}/api/redirect_receiver" # (* optional) used only for CieloPage
|
76
|
+
})
|
77
|
+
|
78
|
+
# Send BuyPage
|
79
|
+
@page_resp = @page_transaction.charge_page(full_resp=true)
|
80
|
+
end
|
81
|
+
|
82
|
+
it 'must have some error' do
|
83
|
+
# SetUp vars
|
84
|
+
json_resp = JSON.parse(@page_resp)
|
85
|
+
error = json_resp[:error]
|
86
|
+
error = json_resp['error'] if error.nil?
|
87
|
+
|
88
|
+
# Check what expected
|
89
|
+
json_resp.should be_a Hash
|
90
|
+
@page_resp.code.should == 200
|
91
|
+
error.should_not be_nil
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
require 'rest_client'
|
3
|
+
require './spec/helpers'
|
4
|
+
|
5
|
+
Bundler.setup
|
6
|
+
|
7
|
+
require 'simplecov'
|
8
|
+
SimpleCov.start do
|
9
|
+
end
|
10
|
+
|
11
|
+
# and any other gems you need
|
12
|
+
require 'rents'
|
13
|
+
require 'faker'
|
14
|
+
|
15
|
+
RSpec.configure do |c|
|
16
|
+
# some (optional) config here
|
17
|
+
c.include Helpers
|
18
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rents
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ilton Garcia
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -38,10 +38,97 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: simplecov
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.7.1
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.7.1
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: faker
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 1.4.2
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 1.4.2
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: curb
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rest-client
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: multi_json
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
41
125
|
description: Ruby gem for Rent$ payment Gateway & Intermediary
|
42
126
|
email:
|
43
127
|
- ilton_unb@hotmail.com
|
44
|
-
executables:
|
128
|
+
executables:
|
129
|
+
- bundle
|
130
|
+
- rails
|
131
|
+
- rake
|
45
132
|
extensions: []
|
46
133
|
extra_rdoc_files: []
|
47
134
|
files:
|
@@ -50,10 +137,26 @@ files:
|
|
50
137
|
- LICENSE.txt
|
51
138
|
- README.md
|
52
139
|
- Rakefile
|
140
|
+
- bin/bundle
|
141
|
+
- bin/rails
|
142
|
+
- bin/rake
|
53
143
|
- lib/rents.rb
|
144
|
+
- lib/rents/connection.rb
|
145
|
+
- lib/rents/hash.rb
|
146
|
+
- lib/rents/status.rb
|
147
|
+
- lib/rents/transaction.rb
|
54
148
|
- lib/rents/version.rb
|
149
|
+
- modelagem/Sequence - APIClient.asta
|
150
|
+
- modelagem/Structure - ClassDiagram.asta
|
151
|
+
- modelagem/useful_files/card_operators/cielo/test_cards.txt
|
152
|
+
- modelagem/useful_files/card_operators/cielo/test_keys.txt
|
55
153
|
- rents.gemspec
|
56
|
-
|
154
|
+
- spec/helpers.rb
|
155
|
+
- spec/rents/rents_spec.rb
|
156
|
+
- spec/rents/status_spec.rb
|
157
|
+
- spec/rents/transaction_spec.rb
|
158
|
+
- spec/spec_helper.rb
|
159
|
+
homepage: http://pagerents.github.io/rents-sdk-ruby
|
57
160
|
licenses:
|
58
161
|
- MIT
|
59
162
|
metadata: {}
|
@@ -77,4 +180,9 @@ rubygems_version: 2.2.2
|
|
77
180
|
signing_key:
|
78
181
|
specification_version: 4
|
79
182
|
summary: Rent$ payment Gateway & Intermediary ruby gem
|
80
|
-
test_files:
|
183
|
+
test_files:
|
184
|
+
- spec/helpers.rb
|
185
|
+
- spec/rents/rents_spec.rb
|
186
|
+
- spec/rents/status_spec.rb
|
187
|
+
- spec/rents/transaction_spec.rb
|
188
|
+
- spec/spec_helper.rb
|