modulr-api 0.0.17 → 0.0.20

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: 756d629d0ce81b092c226a12364e51addeb7df40d6101fa9a2f195e5da406fac
4
- data.tar.gz: ae23bf413271bf36cd6d256f5cfac0edd588377cb17a6fa2c2eb12163b4b5052
3
+ metadata.gz: fc934335d82433526a4054148d3ce46e50d44c79dea1cdef2098f5abb2a4f60e
4
+ data.tar.gz: 80bdac56af67a7fd4235b9bab3926068e95ecba9c350b2b735da0d61ceb9f953
5
5
  SHA512:
6
- metadata.gz: 13b76b1d357a1c7175fc8e2740d77f66aec500fc88172bbba17130a1bdc9afd788f82352a1bb5f963512226c687e9ab80121aa413c41dc8bb176845396041b1a
7
- data.tar.gz: 21f648f6656e2c933c8fc076b543da98b9e063dd28988d1ca48111ddbe579c5f6eafd913b0bff057e4b607c7d5936109d8464524ee9fc2773ae003c0ae4f11fb
6
+ metadata.gz: 455a7987afd8f7a2857c99d868ce6758f354779542ead2588abbcb13bf23b5a8b85d4c0f3cc6b6ffebae291a661dafdc67c71cc2e154af395a3ad78722560f4e
7
+ data.tar.gz: cc3502de65b28d99bae494ac1ca985f1c9b6fbc32c20cc56d7eaa2c325fc6f2ad37590e39563010fb05877ccf9cf60e4acbadadeb0aa33e1148ae50006d3aa40
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- modulr-api (0.0.17)
4
+ modulr-api (0.0.20)
5
5
  faraday (~> 1.0)
6
6
  faraday_middleware (~> 1.0)
7
7
 
data/README.md CHANGED
@@ -31,6 +31,60 @@ Run `bin/console` for an interactive prompt to experiment with the code.
31
31
  ```rb
32
32
  # Find a customer
33
33
  client.customers.find(id: "C2188C26")
34
+
35
+ # Create a customer
36
+ client.customers.create(
37
+ type: "LLC",
38
+ legalEntity: "IE",
39
+ name: "Your company SL.",
40
+ expectedMonthlySpend: 99999,
41
+ companyRegNumber: "TAXID",
42
+ industryCode: "64929",
43
+ tcsVersion: 1,
44
+ tradingAddress: {
45
+ addressLine1: "Fake Street 34",
46
+ postTown: "Madrid",
47
+ postCode: "28003",
48
+ country: "ES",
49
+ },
50
+ registeredAddress: {
51
+ addressLine1: "Fake Street 34",
52
+ postTown: "Madrid",
53
+ postCode: "28003",
54
+ country: "ES",
55
+ },
56
+ associates: [
57
+ {
58
+ applicant: true,
59
+ dateOfBirth: "1977-05-31",
60
+ firstName: "Director Name",
61
+ lastName: "Director Last Name",
62
+ email: "director@yourcompany.com",
63
+ phone: "+34677777777",
64
+ type: "DIRECTOR",
65
+ homeAddress: {
66
+ addressLine1: "Fake Street 34",
67
+ postTown: "Madrid",
68
+ postCode: "28003",
69
+ country: "ES",
70
+ },
71
+ },
72
+ {
73
+ applicant: false,
74
+ dateOfBirth: "1976-08-14",
75
+ firstName: "Owner Name",
76
+ lastName: "Owner Last Name",
77
+ type: "BENE_OWNER",
78
+ ownership: 60,
79
+ homeAddress: {
80
+ addressLine1: "Fake Street 34",
81
+ postTown: "Madrid",
82
+ postCode: "28003",
83
+ country: "ES",
84
+ },
85
+ },
86
+ ]
87
+ )
34
88
  ```
35
89
 
36
90
  ### Accounts
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
4
+
3
5
  module Modulr
4
6
  module API
5
7
  class CustomersService < Service
@@ -7,6 +9,32 @@ module Modulr
7
9
  response = client.get("/customers/#{id}")
8
10
  Resources::Customers::Customer.new(response.env[:raw_body], response.body)
9
11
  end
12
+
13
+ def create(type:, legal_entity:, **opts)
14
+ payload = {
15
+ type: type,
16
+ legalEntity: legal_entity,
17
+ }
18
+
19
+ payload[:externalReference] = opts[:external_reference] if opts[:external_reference]
20
+ payload[:name] = opts[:name] if opts[:name]
21
+ payload[:companyRegNumber] = opts[:company_reg_number] if opts[:company_reg_number]
22
+ payload[:registeredAddress] = opts[:registered_address] if opts[:registered_address]
23
+ payload[:tradingAddress] = opts[:trading_address] if opts[:trading_address]
24
+ payload[:industryCode] = opts[:industry_code] if opts[:industry_code]
25
+ payload[:tcsVersion] = opts[:tcs_version] if opts[:tcs_version]
26
+ payload[:expectedMonthlySpend] = opts[:expected_monthly_spend] if opts[:expected_monthly_spend]
27
+ payload[:associates] = opts[:associates] if opts[:associates]
28
+ payload[:documentInfo] = opts[:document_info] if opts[:document_info]
29
+ payload[:provisionalCustomerId] = opts[:provisional_customer_id] if opts[:provisional_customer_id]
30
+ payload[:customerTrust] = opts[:customer_trust] if opts[:customer_trust]
31
+ payload[:taxProfile] = opts[:tax_profile] if opts[:tax_profile]
32
+
33
+ response = client.post("/customers", payload)
34
+ Resources::Customers::Customer.new(response.env[:raw_body], response.body)
35
+ end
10
36
  end
11
37
  end
12
38
  end
39
+
40
+ # rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Modulr
4
- VERSION = "0.0.17"
4
+ VERSION = "0.0.20"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: modulr-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.17
4
+ version: 0.0.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aitor García Rey
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-03-23 00:00:00.000000000 Z
11
+ date: 2023-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -256,7 +256,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
256
256
  - !ruby/object:Gem::Version
257
257
  version: '0'
258
258
  requirements: []
259
- rubygems_version: 3.4.6
259
+ rubygems_version: 3.4.10
260
260
  signing_key:
261
261
  specification_version: 4
262
262
  summary: Ruby client for Modulr Finance API.