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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0ca18ee62fe39343f1c1a4ff80259d7909dd2659
4
- data.tar.gz: bc2b145901b129167e17048ca246bad5fd9a310a
3
+ metadata.gz: 3870b6ddef5435fb81b227dbf0451e717aa20db6
4
+ data.tar.gz: fa42db010bcd1d33566b63f5718a6d0686239c47
5
5
  SHA512:
6
- metadata.gz: 9d9244b466ec4823964e1b047cc3d4f7935571f2493eb890c6de4033f29f890c541157630767f9f09acd6c9224a70bf6f8fa8e1839c8b1b834422b492f829684
7
- data.tar.gz: ea76d3f31b0aace96110dc3b28f3a0790bc9ed020bdb028c8fa19481c642b7a7e2bb3a787f977c7b0414950d3596c2bc859e69e92d49c8a92431369eeaeff574
6
+ metadata.gz: 8cdf494009273304c21956a32967e515b40f2dd711645f5b79208b018715018c0281ff2ef90c713aebf57cb85c5d08302336b8db432039d963f7e8745d9b2643
7
+ data.tar.gz: f412aa1a707430d7e0d6836170e904a628273f22455dab6ddd36173fff4dfd27e760f10e78a9e7fab15d5bd538779fefc4b7a3a5eb243be33248e49f1f7d3b93
data/.gitignore CHANGED
@@ -6,7 +6,11 @@
6
6
  Gemfile.lock
7
7
  InstalledFiles
8
8
  _yardoc
9
+ .idea/
10
+ .idea/*
9
11
  coverage
12
+ coverage/
13
+ coverage/*
10
14
  doc/
11
15
  lib/bundler/man
12
16
  pkg
data/bin/bundle ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
+ load Gem.bin_path('bundler', 'bundle')
data/bin/rails ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
3
+ require_relative '../config/boot'
4
+ require 'rails/commands'
data/bin/rake ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative '../config/boot'
3
+ require 'rake'
4
+ Rake.application.run
@@ -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
@@ -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
@@ -1,3 +1,6 @@
1
1
  module Rents
2
- VERSION = "0.0.0"
2
+ MAJOR = 0
3
+ MINOR = 1
4
+ PATCH = 0
5
+ VERSION = "#{MAJOR}.#{MINOR}.#{PATCH}"
3
6
  end
data/lib/rents.rb CHANGED
@@ -1,9 +1,34 @@
1
- #require "rents/version"
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
- class Transaction
5
- def self.hi
6
- puts 'Hi there!'
7
- end
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
@@ -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
@@ -0,0 +1,3 @@
1
+ Type | Membership number | Access Key
2
+ Store | 1006993069 | 25fbb99741c739dd84d7b06ec78c9bac718838630f30b112d033ce2e621b34f3
3
+ Cielo | 1001734898 | e84827130b9837473681c2787007da5914d6359947015a5cdb2b8843db0fa832
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://pagerenter.com.br/rents"
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 do
4
+ describe 'Base module' do
5
+ =begin TODO test here like a Developer should use it GEM
6
+ it 'should be tested' do
7
+ Rents.app_id=44
8
+ expect(Rents.app_id).to equal(44)
9
+ end
10
+ =end
11
+ end
12
+ 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
@@ -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.0.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-09-16 00:00:00.000000000 Z
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
- homepage: http://pagerenter.com.br/rents
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