gerencianet 0.0.1

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: db0dc12a8bb152c33bb1386d2ead264880cf56c0
4
+ data.tar.gz: 5e72412e908a0369f4cded139d779bea0159601b
5
+ SHA512:
6
+ metadata.gz: 076b82eac8e238d2115de2c38254b899fa47d2a15dd8d9cf0bc1b8484189a44b70ca5e73974960f3a130b3e99a19c7be43d5a706845ee111d5f10a5ec40afe76
7
+ data.tar.gz: 518f72c4a4e0a794bd3c0e7b203dde35d6c1865f45ec0eefa3e7b94affb1906f96b9dd9ba205be9410d5b3e847835e0a354139ed925c11fdff1587b7804ce0ce
@@ -0,0 +1,21 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ .ruby-gemset
19
+ .ruby-version
20
+ .rspec
21
+ turbulence
@@ -0,0 +1,9 @@
1
+ Style/SpaceInsideHashLiteralBraces:
2
+ EnforcedStyle: no_space
3
+
4
+ Style/Encoding:
5
+ Enabled: true
6
+ EnforcedStyle: when_needed
7
+
8
+ Style/StringLiterals:
9
+ EnforcedStyle: double_quotes
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1.0
4
+ before_install: gem install bundler -v 1.10.6
File without changes
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "coveralls", require: false
4
+
5
+ # require "pry"
6
+ # Pry.start
7
+
8
+ # Specify your gem's dependencies in gerencianet.gemspec
9
+ gemspec
@@ -0,0 +1,5 @@
1
+ guard :rspec, cmd: "rspec" do
2
+ watch(%r{^spec/.+_spec\.rb$})
3
+ watch(%r{^lib/(.+)\.rb$}) { "spec" }
4
+ watch("spec/spec_helper.rb") { "spec" }
5
+ end
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 Gerencianet Pagamentos do Brasil
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,118 @@
1
+ # gn-api-sdk-ruby
2
+
3
+ > A ruby gem for integration of your backend with the payment services
4
+ provided by [Gerencianet](http://gerencianet.com.br).
5
+
6
+ [![Build Status](https://travis-ci.org/gerencianet/gn-api-sdk-ruby.svg)](https://travis-ci.org/gerencianet/gn-api-sdk-ruby)
7
+ [![Coverage Status](https://coveralls.io/repos/gerencianet/gn-api-sdk-ruby/badge.svg?branch=master&service=github)](https://coveralls.io/github/gerencianet/gn-api-sdk-ruby?branch=master)
8
+ [![Code Climate](https://codeclimate.com/github/gerencianet/gn-api-sdk-ruby/badges/gpa.svg)](https://codeclimate.com/github/gerencianet/gn-api-sdk-ruby)
9
+
10
+ :warning: **Gerencianet API is under BETA version, meaning that it's not available for all users right now. If you're interested, you can always send an email to
11
+ desenvolvedores@gerencianet.com.br and we'll enable it for your account**
12
+
13
+ ## Installation
14
+
15
+ Add this line to your application's Gemfile:
16
+
17
+ ```ruby
18
+ gem 'gerencianet'
19
+ ```
20
+
21
+ And then execute:
22
+
23
+ ```bash
24
+ $ bundle
25
+ ```
26
+ Or install it yourself as:
27
+
28
+ ```bash
29
+ $ gem install gerencianet
30
+ ```
31
+
32
+ ## Basic usage
33
+
34
+ ```ruby
35
+ require "gerencianet"
36
+
37
+ options = {
38
+ client_id: "client_id",
39
+ client_secret: "client_secret",
40
+ sandbox: true
41
+ }
42
+
43
+ gerencianet = Gerencianet.new(@options)
44
+
45
+ input = {
46
+ items: [{
47
+ name: "Product A",
48
+ value: 1000,
49
+ amount: 2
50
+ }]
51
+ }
52
+
53
+ response = gerencianet.create_charge(input)
54
+ ```
55
+
56
+ ## Tests
57
+
58
+ To run the tests, just run *rspec*:
59
+
60
+ ```bash
61
+ $ rspec
62
+ ```
63
+
64
+ Or use *guard* to watch files and automatically run *rspec*
65
+
66
+ ```bash
67
+ $ guard -n false -c
68
+ ```
69
+
70
+ ## Additional documentation
71
+
72
+ ### Charges
73
+
74
+ - [Creating charges](https://github.com/gerencianet/gn-api-sdk-ruby/tree/master/docs/charges.md)
75
+ - [Paying a charge](https://github.com/gerencianet/gn-api-sdk-ruby/tree/master/docs/charge-payment.md)
76
+ - [Detailing charges](https://github.com/gerencianet/gn-api-sdk-ruby/tree/master/docs/charge-detailing.md)
77
+ - [Updating informations](https://github.com/gerencianet/gn-api-sdk-ruby/tree/master/docs/charge-update.md)
78
+
79
+ ### Carnets
80
+
81
+ - [Creating carnets](https://github.com/gerencianet/gn-api-sdk-ruby/tree/master/docs/carnets.md)
82
+ - [Detailing carnets](https://github.com/gerencianet/gn-api-sdk-ruby/tree/master/docs/carnet-detailing.md)
83
+ - [Updating informations](https://github.com/gerencianet/gn-api-sdk-ruby/tree/master/docs/carnet-update.md)
84
+
85
+ ### Subscriptions
86
+
87
+ - [Creating subscriptions](https://github.com/gerencianet/gn-api-sdk-ruby/tree/master/docs/subscriptions.md)
88
+ - [Paying a subscription](https://github.com/gerencianet/gn-api-sdk-ruby/tree/master/docs/subscription-payment.md)
89
+ - [Detailing subscriptions](https://github.com/gerencianet/gn-api-sdk-ruby/tree/master/docs/subscription-detailing.md)
90
+ - [Updating informations](https://github.com/gerencianet/gn-api-sdk-ruby/tree/master/docs/subscription-update.md)
91
+
92
+ ### Marketplace
93
+
94
+ - [Creating a marketplace](https://github.com/gerencianet/gn-api-sdk-ruby/tree/master/docs/charge-with-marketplace.md)
95
+
96
+ ### Notifications
97
+
98
+ - [Getting notifications](https://github.com/gerencianet/gn-api-sdk-ruby/tree/master/docs/notifications.md)
99
+
100
+ ### Payments
101
+
102
+ - [Getting installments](https://github.com/gerencianet/gn-api-sdk-ruby/tree/master/docs/installments.md)
103
+
104
+ ### All in one
105
+
106
+ - [Usage](https://github.com/gerencianet/gn-api-sdk-ruby/tree/master/docs/all-in-one.md)
107
+
108
+ ## Changelog
109
+
110
+ [CHANGELOG](https://github.com/gerencianet/gn-api-sdk-ruby/tree/master/CHANGELOG.md)
111
+
112
+ ## Contributing
113
+
114
+ Bug reports and pull requests are welcome on GitHub at https://github.com/gerencianet/gn-api-sdk-ruby. This project is intended to be a safe, welcoming space for collaboration.
115
+
116
+ ## License
117
+
118
+ The gem is available as open source under the terms of the [MIT License](LICENSE).
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task default: :spec
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "gerencianet"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle install
6
+
7
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,36 @@
1
+ lib = File.expand_path("../lib", __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require "gerencianet/version"
4
+
5
+ files = `git ls-files -z`.split("\x0").reject do |f|
6
+ f.match(%r{^(test|spec|features)/})
7
+ end
8
+
9
+ Gem::Specification.new do |spec|
10
+ spec.name = "gerencianet"
11
+ spec.version = Gerencianet::VERSION
12
+ spec.authors = ["Francisco Carvalho"]
13
+ spec.email = ["desenvolvedores@gerencianet.com.br"]
14
+
15
+ spec.summary = "Gerencianet API Ruby Gem"
16
+ spec.description = "A ruby gem for integration of your backend with the
17
+ payment services provided by Gerencianet"
18
+
19
+ spec.homepage = "https://github.com/gerencianet/gn-api-sdk-ruby"
20
+ spec.license = "MIT"
21
+
22
+ spec.files = files
23
+
24
+ spec.bindir = "exe"
25
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
26
+ spec.require_paths = ["lib"]
27
+
28
+ spec.add_development_dependency "bundler", "~> 1.10", ">= 1.10"
29
+ spec.add_development_dependency "rake", "~> 10.0", ">= 10.0"
30
+ spec.add_development_dependency "rspec", "~> 3.4.0", ">= 3.4.0"
31
+ spec.add_development_dependency "guard-rspec", "~> 4.6.4", ">= 4.6.4"
32
+ spec.add_development_dependency "webmock", "~> 1.22.3", ">= 1.22.3"
33
+ spec.add_development_dependency "rubocop", "~> 0.35.1", ">= 0.35.1"
34
+
35
+ spec.add_runtime_dependency "http", "~> 0.9", ">= 0.9.8"
36
+ end
@@ -0,0 +1,9 @@
1
+ require "gerencianet/version"
2
+ require "gerencianet/endpoints"
3
+
4
+ # Module that just returns an Endpoints instance
5
+ module Gerencianet
6
+ def self.new(options)
7
+ Endpoints.new(options)
8
+ end
9
+ end
@@ -0,0 +1,100 @@
1
+ module Gerencianet
2
+ # Endpoints signatures
3
+ module Constants
4
+ URL = {
5
+ production: "https://api.gerencianet.com.br/v1",
6
+ sandbox: "https://sandbox.gerencianet.com.br/v1"
7
+ }
8
+
9
+ ENDPOINTS = {
10
+ authorize: {
11
+ route: "/authorize",
12
+ method: "post"
13
+ },
14
+ create_charge: {
15
+ route: "/charge",
16
+ method: "post"
17
+ },
18
+ detail_charge: {
19
+ route: "/charge/:id",
20
+ method: "get"
21
+ },
22
+ update_charge_metadata: {
23
+ route: "/charge/:id/metadata",
24
+ method: "put"
25
+ },
26
+ update_billet: {
27
+ route: "/charge/:id/billet",
28
+ method: "put"
29
+ },
30
+ pay_charge: {
31
+ route: "/charge/:id/pay",
32
+ method: "post"
33
+ },
34
+ cancel_charge: {
35
+ route: "/charge/:id/cancel",
36
+ method: "put"
37
+ },
38
+ create_carnet: {
39
+ route: "/carnet",
40
+ method: "post"
41
+ },
42
+ detail_carnet: {
43
+ route: "/carnet/:id",
44
+ method: "get"
45
+ },
46
+ update_parcel: {
47
+ route: "/carnet/:id/parcel/:parcel",
48
+ method: "put"
49
+ },
50
+ update_carnet_metadata: {
51
+ route: "/carnet/:id/metadata",
52
+ method: "put"
53
+ },
54
+ get_notification: {
55
+ route: "/notification/:token",
56
+ method: "get"
57
+ },
58
+ get_plans: {
59
+ route: "/plans",
60
+ method: "get"
61
+ },
62
+ create_plan: {
63
+ route: "/plan",
64
+ method: "post"
65
+ },
66
+ delete_plan: {
67
+ route: "/plan/:id",
68
+ method: "del"
69
+ },
70
+ create_subscription: {
71
+ route: "/plan/:id/subscription",
72
+ method: "post"
73
+ },
74
+ detail_subscription: {
75
+ route: "/subscription/:id",
76
+ method: "get"
77
+ },
78
+ pay_subscription: {
79
+ route: "/subscription/:id/pay",
80
+ method: "post"
81
+ },
82
+ cancel_subscription: {
83
+ route: "/subscription/:id/cancel",
84
+ method: "put"
85
+ },
86
+ update_subscription_metadata: {
87
+ route: "/subscription/:id/metadata",
88
+ method: "put"
89
+ },
90
+ get_installments: {
91
+ route: "/installments",
92
+ method: "get"
93
+ },
94
+ resend_billet: {
95
+ route: "/charge/:id/billet/resend",
96
+ method: "post"
97
+ }
98
+ }
99
+ end
100
+ end
@@ -0,0 +1,133 @@
1
+ require "http"
2
+ require "gerencianet/constants"
3
+ require "gerencianet/status"
4
+
5
+ module Gerencianet
6
+ # Given the constants file, with the endpoints signatures,
7
+ # this class maps each one of them to a concerning function
8
+ class Endpoints
9
+ attr_accessor :token
10
+ attr_reader :endpoints
11
+ attr_reader :urls
12
+ attr_reader :base_url
13
+ attr_reader :options
14
+
15
+ def initialize(options)
16
+ @token = nil
17
+ @options = options
18
+ @endpoints = Constants::ENDPOINTS
19
+ @urls = Constants::URL
20
+ @base_url = current_base_url
21
+
22
+ create_methods
23
+ end
24
+
25
+ private
26
+
27
+ def create_methods
28
+ @endpoints.each do |key, settings|
29
+ self.class.send(:define_method, key) do |params = nil, body = nil|
30
+ create(params, body, settings)
31
+ end
32
+ end
33
+ end
34
+
35
+ def create(params, body, settings)
36
+ authenticate unless @token
37
+
38
+ response = make_request(params, body, settings)
39
+
40
+ if response.status.to_s == STATUS::UNAUTHORIZED
41
+ authenticate
42
+ response = make_request(params, body, settings)
43
+ end
44
+
45
+ response
46
+ end
47
+
48
+ def make_request(params, body, settings)
49
+ url = get_url(params, settings[:route])
50
+
51
+ HTTP
52
+ .headers(accept: "application/json")
53
+ .auth("Bearer #{@token['access_token']}")
54
+ .method(settings[:method])
55
+ .call(url, json: body)
56
+ end
57
+
58
+ def authenticate
59
+ url = get_url({}, @endpoints[:authorize][:route])
60
+
61
+ response =
62
+ HTTP.basic_auth(auth_headers)
63
+ .post(url, json: auth_body)
64
+
65
+ respond(response)
66
+ end
67
+
68
+ def auth_headers
69
+ {
70
+ user: @options[:client_id],
71
+ pass: @options[:client_secret]
72
+ }
73
+ end
74
+
75
+ def auth_body
76
+ {grant_type: :client_credentials}
77
+ end
78
+
79
+ def respond(response)
80
+ if response.status.to_s == STATUS::OK
81
+ begin
82
+ @token = JSON.parse(response)
83
+ rescue JSON::ParserError
84
+ raise "unable to parse server response, not a valid json"
85
+ end
86
+ else
87
+ fail "unable to authenticate"
88
+ end
89
+ end
90
+
91
+ def get_url(params, route)
92
+ params = {} if params.nil?
93
+ route = remove_placeholders(params, route)
94
+ full_url(params, route)
95
+ end
96
+
97
+ def remove_placeholders(params, route)
98
+ regex = /\:(\w+)/
99
+ route.scan(regex).each do |key|
100
+ key = key[0]
101
+ value = params[key.to_sym].to_s
102
+ route = route.gsub(":#{key}", value)
103
+ params.delete(key.to_sym)
104
+ end
105
+
106
+ route
107
+ end
108
+
109
+ def full_url(params, route)
110
+ mapped = map_params(params)
111
+
112
+ if !mapped.empty?
113
+ "#{@base_url}#{route}?#{mapped}"
114
+ else
115
+ "#{@base_url}#{route}"
116
+ end
117
+ end
118
+
119
+ def map_params(params)
120
+ params.map do |key|
121
+ "#{key[0]}=#{key[1]}"
122
+ end.join("&")
123
+ end
124
+
125
+ def current_base_url
126
+ if @options[:sandbox]
127
+ @urls[:sandbox]
128
+ else
129
+ @urls[:production]
130
+ end
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,7 @@
1
+ module Gerencianet
2
+ # HTTP response statuses
3
+ module STATUS
4
+ OK = "200 OK"
5
+ UNAUTHORIZED = "401 Unauthorized"
6
+ end
7
+ end
@@ -0,0 +1,4 @@
1
+ # :nodoc:
2
+ module Gerencianet
3
+ VERSION = "0.0.1"
4
+ end
metadata ADDED
@@ -0,0 +1,203 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gerencianet
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Francisco Carvalho
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2015-11-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.10'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: '1.10'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.10'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '1.10'
33
+ - !ruby/object:Gem::Dependency
34
+ name: rake
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '10.0'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '10.0'
43
+ type: :development
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '10.0'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: '10.0'
53
+ - !ruby/object:Gem::Dependency
54
+ name: rspec
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: 3.4.0
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 3.4.0
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: 3.4.0
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 3.4.0
73
+ - !ruby/object:Gem::Dependency
74
+ name: guard-rspec
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: 4.6.4
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 4.6.4
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 4.6.4
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 4.6.4
93
+ - !ruby/object:Gem::Dependency
94
+ name: webmock
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: 1.22.3
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 1.22.3
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: 1.22.3
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 1.22.3
113
+ - !ruby/object:Gem::Dependency
114
+ name: rubocop
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: 0.35.1
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 0.35.1
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: 0.35.1
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 0.35.1
133
+ - !ruby/object:Gem::Dependency
134
+ name: http
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '0.9'
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 0.9.8
143
+ type: :runtime
144
+ prerelease: false
145
+ version_requirements: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: '0.9'
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 0.9.8
153
+ description: |-
154
+ A ruby gem for integration of your backend with the
155
+ payment services provided by Gerencianet
156
+ email:
157
+ - desenvolvedores@gerencianet.com.br
158
+ executables: []
159
+ extensions: []
160
+ extra_rdoc_files: []
161
+ files:
162
+ - ".gitignore"
163
+ - ".rubocop.yml"
164
+ - ".travis.yml"
165
+ - CHANGELOG.md
166
+ - Gemfile
167
+ - Guardfile
168
+ - LICENSE
169
+ - README.md
170
+ - Rakefile
171
+ - bin/console
172
+ - bin/setup
173
+ - gerencianet.gemspec
174
+ - lib/gerencianet.rb
175
+ - lib/gerencianet/constants.rb
176
+ - lib/gerencianet/endpoints.rb
177
+ - lib/gerencianet/status.rb
178
+ - lib/gerencianet/version.rb
179
+ homepage: https://github.com/gerencianet/gn-api-sdk-ruby
180
+ licenses:
181
+ - MIT
182
+ metadata: {}
183
+ post_install_message:
184
+ rdoc_options: []
185
+ require_paths:
186
+ - lib
187
+ required_ruby_version: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - ">="
190
+ - !ruby/object:Gem::Version
191
+ version: '0'
192
+ required_rubygems_version: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - ">="
195
+ - !ruby/object:Gem::Version
196
+ version: '0'
197
+ requirements: []
198
+ rubyforge_project:
199
+ rubygems_version: 2.2.2
200
+ signing_key:
201
+ specification_version: 4
202
+ summary: Gerencianet API Ruby Gem
203
+ test_files: []