creditario-client 0.0.7.alpha → 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 217be7d392fba8ad1ebe71041c71bd828e0756905a3d2acd01ac9fabdd0a67e0
4
- data.tar.gz: 024f36b22af15a41780602d9984b422a9ac863f5e0c97d9e47361b207819048b
3
+ metadata.gz: f41e9c8e79d01bc247e637f4b823859cc5382b2eb7b3dad905a575cb6a110101
4
+ data.tar.gz: 4ce09eb658e9c4e5dc0a77f95eb5b7dcb4a484c973dbb18b886766cb88285844
5
5
  SHA512:
6
- metadata.gz: 9381ab32b370ce549642676fb8d2bb53d257543b735109d1ed2f40e1fe83e6379c871af787e3dbdd2cf92c0a3ce6e668b1fd3d3bcc982f4268b58bf6e8595266
7
- data.tar.gz: 432e445cdf43cad23a4bc8d08207fa89d62f6d50698d451825be55e2189eb255cbfc3a72d6ea41cbd10e6da33f4c7b6c01ea541336ea8f00ebaf202d3e154a3d
6
+ metadata.gz: 7f5dba2eb7858828e57765506245bf239ab61c9c86fa0e145f13ba66fac6dc11ff8e3db70f3317ab4f11d97b0503553eb1f813690fc08de742c77d53647ad577
7
+ data.tar.gz: 63d6c1e04f8c78c8525791318828a031362ee34fa3e3f7ca17ce373a8cb4f0bec8317440b6de2eaad87d0b1da09a16ba3602d0a5d146951eca3fd3b3edd6ca48
@@ -0,0 +1,38 @@
1
+ name: "Release"
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - '*.*.*'
7
+
8
+ jobs:
9
+ build:
10
+ name: Release
11
+ runs-on: ubuntu-18.04
12
+ steps:
13
+ - uses: actions/checkout@v2
14
+ with:
15
+ fetch-depth: 3
16
+
17
+ - name: Set up Ruby
18
+ uses: ruby/setup-ruby@v1
19
+ with:
20
+ ruby-version: 2.7.2
21
+ bundler-cache: true
22
+ cache-version: 1
23
+
24
+ - name: Get tag version
25
+ id: tag_version
26
+ run: |
27
+ echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/}
28
+
29
+ - name: Print tag version
30
+ run: echo ${{ steps.tag_version.outputs.VERSION }}
31
+
32
+ - name: Build gem
33
+ run: gem build creditario-client.gemspec
34
+
35
+ - name: Push gem
36
+ env:
37
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_API_KEY}}"
38
+ run: gem push creditario-client-${{ steps.tag_version.outputs.VERSION}}.gem
data/.gitignore CHANGED
@@ -1,6 +1,5 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
- /Gemfile.lock
4
3
  /_yardoc/
5
4
  /coverage/
6
5
  /doc/
data/Gemfile.lock ADDED
@@ -0,0 +1,64 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ creditario-client (1.0.0)
5
+ multipart-post (= 2.0.0)
6
+ oj (~> 3.0.0)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ addressable (2.8.0)
12
+ public_suffix (>= 2.0.2, < 5.0)
13
+ ast (2.4.2)
14
+ crack (0.4.5)
15
+ rexml
16
+ hashdiff (1.0.1)
17
+ jaro_winkler (1.5.4)
18
+ minitest (5.15.0)
19
+ multipart-post (2.0.0)
20
+ oj (3.0.11)
21
+ parallel (1.21.0)
22
+ parser (3.1.0.0)
23
+ ast (~> 2.4.1)
24
+ powerpack (0.1.3)
25
+ psych (4.0.3)
26
+ stringio
27
+ public_suffix (4.0.6)
28
+ rainbow (3.1.1)
29
+ rake (10.5.0)
30
+ rdoc (6.4.0)
31
+ psych (>= 4.0.0)
32
+ rexml (3.2.5)
33
+ rubocop (0.57.2)
34
+ jaro_winkler (~> 1.5.1)
35
+ parallel (~> 1.10)
36
+ parser (>= 2.5)
37
+ powerpack (~> 0.1)
38
+ rainbow (>= 2.2.2, < 4.0)
39
+ ruby-progressbar (~> 1.7)
40
+ unicode-display_width (~> 1.0, >= 1.0.1)
41
+ ruby-progressbar (1.11.0)
42
+ sdoc (1.1.0)
43
+ rdoc (>= 5.0)
44
+ stringio (3.0.1)
45
+ unicode-display_width (1.8.0)
46
+ webmock (3.4.2)
47
+ addressable (>= 2.3.6)
48
+ crack (>= 0.3.2)
49
+ hashdiff
50
+
51
+ PLATFORMS
52
+ ruby
53
+
54
+ DEPENDENCIES
55
+ bundler (~> 2.1.4)
56
+ creditario-client!
57
+ minitest (~> 5.0)
58
+ rake (~> 10.0)
59
+ rubocop (~> 0.57.2)
60
+ sdoc (~> 1.0)
61
+ webmock (~> 3.4.2)
62
+
63
+ BUNDLED WITH
64
+ 2.2.16
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  Solo añade a tu Gemfile:
6
6
 
7
- gem "creditario-client", git: "git@git.michelada.io:financial/creditario-client.git"
7
+ gem "creditario-client", git: "git@github.com:creditario/creditario-client.git"
8
8
 
9
9
  ## Uso
10
10
 
@@ -88,7 +88,7 @@ Las operaciones que puedes realizar sobre Productos son: listar y obtener.
88
88
 
89
89
  ### Clientes
90
90
 
91
- Las operaciones que puedes realizar sobre Clientes son: listar, obtener, crear y actualizar.
91
+ Las operaciones que puedes realizar sobre Clientes son: listar, obtener, verificar, crear y actualizar.
92
92
 
93
93
  #### Listar todos los Clientes
94
94
 
@@ -103,6 +103,11 @@ Las operaciones que puedes realizar sobre Clientes son: listar, obtener, crear y
103
103
  Creditario::Customers.retrieve("2e9d05b8-2180-4779-bab6-bdfd41d1569f")
104
104
  => Creditario::Customer
105
105
 
106
+ #### Verificar un Cliente
107
+
108
+ Creditario::Customers.exists(email: "usuario@needsmoney.com")
109
+ => Hash
110
+
106
111
  #### Crear un Cliente
107
112
 
108
113
  result = Creditario::Customers.create(email: "karla@quieredinero.com", product_id: "c005b7f7-a44a-4ec0-bf7f-73d15d806fd9")
@@ -23,6 +23,8 @@ Gem::Specification.new do |spec|
23
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
24
  spec.require_paths = ["lib"]
25
25
 
26
+ spec.required_ruby_version = ">= 2.7.0"
27
+
26
28
  spec.add_dependency "oj", "~> 3.0.0"
27
29
  spec.add_dependency "multipart-post", "2.0.0"
28
30
 
@@ -14,7 +14,7 @@ module Creditario # :nodoc:
14
14
  # Si todo sale bien devuelve una instancia del Recurso específico que el
15
15
  # Repositorio maneja.
16
16
  # De lo contrario, regresa un Hash con los errores arrojados por el servidor de creditar.io
17
- def create(**params)
17
+ def create(*params)
18
18
  response = API.request(:post, self.resource_path, params)
19
19
 
20
20
  attributes = response.dig("data").first
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+ require "base64"
3
+
4
+ module Creditario # :nodoc:
5
+ module API
6
+ ###
7
+ # == Creditario::API::Exists
8
+ #
9
+ # Modulo encargado de obtener si un recurso existe en la API de creditar.io
10
+ module Exists
11
+ ###
12
+ # Realiza una llamada GET al path del Repositorio que este haciendo uso
13
+ # de este modulo.
14
+ #
15
+ # Si todo sale bien devuelve una instancia del Recurso específico que el Repositorio maneja.
16
+ # De lo contrario, regresa un Hash con los errores arrojados por el servidor de creditar.io
17
+ def exists(query_params = {})
18
+ parts = [self.exists_resource_path]
19
+ path = parts.compact.join("/")
20
+ query_params[:cache] = true
21
+ query_params[:email] = Base64.encode64(query_params[:email])[0..-2]
22
+ response = API.request(:get, path, query_params)
23
+
24
+ rescue Creditario::Exceptions::ResourceNotFoundError => exception
25
+ exception.server_response
26
+ rescue Creditario::Exceptions::UnprocessableEntityError => exception
27
+ exception.server_response
28
+ end
29
+ end
30
+ end
31
+ end
@@ -14,7 +14,7 @@ module Creditario # :nodoc:
14
14
  # Si todo sale bien devuelve una instancia del Recurso específico que el
15
15
  # Repositorio maneja.
16
16
  # De lo contrario, regresa un Hash con los errores arrojados por el servidor de creditar.io
17
- def create(**params)
17
+ def create(*params)
18
18
  response = API.request(:multipart, self.resource_path, params)
19
19
 
20
20
  attributes = response.dig("data").first
@@ -4,6 +4,6 @@ module Creditario
4
4
  module Client
5
5
  ###
6
6
  # Versión actual de la gema *creditario-client*
7
- VERSION = "0.0.7.alpha"
7
+ VERSION = "1.0.0"
8
8
  end
9
9
  end
@@ -13,6 +13,7 @@ require "creditario/api/multipart"
13
13
  require "creditario/api/delete"
14
14
  require "creditario/api/list"
15
15
  require "creditario/api/retrieve"
16
+ require "creditario/api/exists"
16
17
  require "creditario/api/update"
17
18
 
18
19
  require "creditario/utils/paginated_collection"
@@ -33,6 +34,7 @@ require "creditario/resources/credit"
33
34
  require "creditario/resources/payment"
34
35
  require "creditario/resources/movement"
35
36
  require "creditario/resources/qualify_score_flow"
37
+ require "creditario/resources/investor"
36
38
 
37
39
  require "creditario/repositories/applications"
38
40
  require "creditario/repositories/customers"
@@ -49,6 +51,7 @@ require "creditario/repositories/payments"
49
51
  require "creditario/repositories/movements"
50
52
  require "creditario/repositories/qualify_score_flows"
51
53
  require "creditario/repositories/convert_application_to_credits"
54
+ require "creditario/repositories/investors"
52
55
 
53
56
  module Creditario # :nodoc:
54
57
  ###
@@ -32,6 +32,7 @@ module Creditario # :nodoc:
32
32
  module Customers
33
33
  extend Creditario::API::List
34
34
  extend Creditario::API::Retrieve
35
+ extend Creditario::API::Exists
35
36
  extend Creditario::API::Create
36
37
  extend Creditario::API::Update
37
38
 
@@ -41,6 +42,11 @@ module Creditario # :nodoc:
41
42
  "/customers"
42
43
  end
43
44
 
45
+ # Path de la API donde se ejecutan las peticiones para Clientes, especificamente para existss.
46
+ def self.exists_resource_path
47
+ "/exists/customer"
48
+ end
49
+
44
50
  ###
45
51
  # Clase a utilizar para transformar las respuestas de la API
46
52
  def self.resource_class
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Creditario # :nodoc:
4
+ ###
5
+ # == Creditario::Investors
6
+ #
7
+ # Repositorio de Inversionistas, permite realizar las siguientes operaciones
8
+ # sobre Inversionistas de creditar.io
9
+ #
10
+ # - Obtener todos los Inversionistas:
11
+ #
12
+ # result = Creditario::Investors.list
13
+ # => Creditario::PaginatedCollection
14
+ #
15
+ # result.items
16
+ # => [Creditario::Investor, Creditario::Investor, ...]
17
+ #
18
+ # - Obtener un Inversionista en especifico:
19
+ #
20
+ # Creditario::Investors.retrieve("2e9d05b8-2180-4779-bab6-bdfd41d1569f")
21
+ # => Creditario::Investor
22
+ #
23
+ # - Crear un Inversionista:
24
+ #
25
+ # result = Creditario::Investors.create(email: "karla@quiereinvertir.com")
26
+ # => Creditario::Investor
27
+ #
28
+ module Investors
29
+ extend Creditario::API::List
30
+ extend Creditario::API::Retrieve
31
+ extend Creditario::API::Create
32
+
33
+ ###
34
+ # Path de la API donde se ejecutan las peticiones para Inversionistas.
35
+ def self.resource_path
36
+ "/crowdfunding/investors"
37
+ end
38
+
39
+ ###
40
+ # Clase a utilizar para transformar las respuestas de la API
41
+ def self.resource_class
42
+ Creditario::Investor
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Creditario # :nodoc:
4
+ class Investor # :nodoc:
5
+ include Resource
6
+ end
7
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: creditario-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7.alpha
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - michelada.io
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-22 00:00:00.000000000 Z
11
+ date: 2022-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oj
@@ -130,6 +130,7 @@ extensions: []
130
130
  extra_rdoc_files: []
131
131
  files:
132
132
  - ".DS_Store"
133
+ - ".github/workflows/release.yml"
133
134
  - ".gitignore"
134
135
  - ".gitlab-ci.yml"
135
136
  - ".rubocop.yml"
@@ -138,6 +139,7 @@ files:
138
139
  - CODE_OF_CONDUCT.md
139
140
  - Dockerfile
140
141
  - Gemfile
142
+ - Gemfile.lock
141
143
  - LICENSE.txt
142
144
  - README.md
143
145
  - Rakefile
@@ -146,6 +148,7 @@ files:
146
148
  - creditario-client.gemspec
147
149
  - lib/creditario/api/create.rb
148
150
  - lib/creditario/api/delete.rb
151
+ - lib/creditario/api/exists.rb
149
152
  - lib/creditario/api/list.rb
150
153
  - lib/creditario/api/multipart.rb
151
154
  - lib/creditario/api/request.rb
@@ -165,6 +168,7 @@ files:
165
168
  - lib/creditario/repositories/customers.rb
166
169
  - lib/creditario/repositories/expenses.rb
167
170
  - lib/creditario/repositories/incomes.rb
171
+ - lib/creditario/repositories/investors.rb
168
172
  - lib/creditario/repositories/movements.rb
169
173
  - lib/creditario/repositories/payments.rb
170
174
  - lib/creditario/repositories/products.rb
@@ -179,6 +183,7 @@ files:
179
183
  - lib/creditario/resources/customer.rb
180
184
  - lib/creditario/resources/expense.rb
181
185
  - lib/creditario/resources/income.rb
186
+ - lib/creditario/resources/investor.rb
182
187
  - lib/creditario/resources/movement.rb
183
188
  - lib/creditario/resources/payment.rb
184
189
  - lib/creditario/resources/product.rb
@@ -205,14 +210,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
205
210
  requirements:
206
211
  - - ">="
207
212
  - !ruby/object:Gem::Version
208
- version: '0'
213
+ version: 2.7.0
209
214
  required_rubygems_version: !ruby/object:Gem::Requirement
210
215
  requirements:
211
- - - ">"
216
+ - - ">="
212
217
  - !ruby/object:Gem::Version
213
- version: 1.3.1
218
+ version: '0'
214
219
  requirements: []
215
- rubygems_version: 3.0.8
220
+ rubygems_version: 3.1.4
216
221
  signing_key:
217
222
  specification_version: 4
218
223
  summary: Ruby Client for the creditar.io API