rents 0.0.0 → 0.1.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 +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
|