ruby-brightpearl 0.8.0 → 0.10.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: 499b1eb7f7e7ce054f49f19ba9dfd25602c3135b200c3d15c6934ec37379aca6
4
- data.tar.gz: 62a70dfaff891786c97f0524825be9475fed68e2b6ca57a826349a4afea4fdd5
3
+ metadata.gz: b9e05da1a90bbe24c05beed8a083e43a77c4c22376af84e12f37d8ea3e6eeba8
4
+ data.tar.gz: 5f06f50c457a8be89f53181353c77c91dccbcf7d782de0096af6183eaae4358f
5
5
  SHA512:
6
- metadata.gz: 98df0eadf345303d0163af51e20b55b401cfab34fe2585c016fada116c12fa4bad89ba0e2828498e5954ffce9427311855396ab2a7f738fa1b6a7aab962aaf86
7
- data.tar.gz: 3c5c601b90a6b20d2827965f2879377195d994fc393ccb60fdc8e67caa6b555e7b00b67c70ea67a3c2725e84d9413641b44e07ae090973d666d14ea63e9ed0fb
6
+ metadata.gz: 5053255b92df81af25092d34b469b85bdf8a989c365f5654e018889b8de5e73aab963d5c7b6425849edcccab488ecab2d92f1bef2aa8c7a954d6bf96ab570e51
7
+ data.tar.gz: 9e377fe15a59fa1db5593521f5ac56f9d138c6e8cd823dca0b83d821f28fdfb6c81bfc8f7bd230f339dddc40a3b6918e968747416e683705c5d3d94e8d78b112
data/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.10.0] - 2026-04-17
4
+
5
+ ### Added
6
+
7
+ - New resource `CustomerPayment`
8
+ - Available operations: `SEARCH`, `POST`, `DELETE`
9
+
10
+ ## [0.9.0] - 2025-12-10
11
+
12
+ ### Changed
13
+
14
+ - **Renamed `Customer` resources to `Contact` to match Brightpearl API documentation**
15
+ - Renamed `Customer` to `Contact`
16
+ - Renamed `CustomerCustomField` to `ContactCustomField`
17
+
3
18
  ## [0.8.0] - 2025-11-05
4
19
 
5
20
  ### Added
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ruby-brightpearl (0.8.0)
4
+ ruby-brightpearl (0.10.0)
5
5
  httparty (~> 0.20)
6
6
 
7
7
  GEM
@@ -10,7 +10,7 @@ GEM
10
10
  addressable (2.8.0)
11
11
  public_suffix (>= 2.0.2, < 5.0)
12
12
  base64 (0.3.0)
13
- bigdecimal (3.3.1)
13
+ bigdecimal (4.1.1)
14
14
  byebug (11.1.3)
15
15
  coderay (1.1.3)
16
16
  crack (0.4.5)
@@ -19,14 +19,14 @@ GEM
19
19
  diff-lcs (1.5.0)
20
20
  dotenv (3.1.8)
21
21
  hashdiff (1.0.1)
22
- httparty (0.23.2)
22
+ httparty (0.24.2)
23
23
  csv
24
24
  mini_mime (>= 1.0.0)
25
25
  multi_xml (>= 0.5.2)
26
26
  method_source (1.1.0)
27
27
  mini_mime (1.1.5)
28
- multi_xml (0.7.2)
29
- bigdecimal (~> 3.1)
28
+ multi_xml (0.8.1)
29
+ bigdecimal (>= 3.1, < 5)
30
30
  pry (0.15.2)
31
31
  coderay (~> 1.1)
32
32
  method_source (~> 1.0)
@@ -54,6 +54,7 @@ GEM
54
54
  hashdiff (>= 0.4.0, < 2.0.0)
55
55
 
56
56
  PLATFORMS
57
+ arm64-darwin-25
57
58
  x86_64-linux
58
59
 
59
60
  DEPENDENCIES
@@ -1,6 +1,6 @@
1
1
  module Brightpearl
2
2
  # https://api-docs.brightpearl.com/contact/contact/index.html
3
- class Customer < Resource
3
+ class Contact < Resource
4
4
  extend Brightpearl::APIOperations::Get
5
5
  extend Brightpearl::APIOperations::Post
6
6
  extend Brightpearl::APIOperations::Patch
@@ -26,7 +26,7 @@ module Brightpearl
26
26
  def search(query_params = {})
27
27
  response = send_request(path: "contact-service/contact-search?#{to_query(query_params)}", method: :get)
28
28
  return response.merge({ # modify final payload to set search results as objects
29
- records: response[:payload]["response"]["results"].map { |item| Customer.new(item) },
29
+ records: response[:payload]["response"]["results"].map { |item| Contact.new(item) },
30
30
  })
31
31
  end
32
32
  end
@@ -57,4 +57,5 @@ module Brightpearl
57
57
  end
58
58
 
59
59
  end
60
- end
60
+ end
61
+
@@ -1,7 +1,7 @@
1
1
  module Brightpearl
2
2
  # Contact custom fields are the user-defined data held against Brightpearl contacts. Several data types are available. Custom fields are separated between Supplier contacts and Customer contacts, and may only be assigned to one of these groups.
3
3
  # https://api-docs.brightpearl.com/contact/custom-field/index.html
4
- class CustomerCustomField < Resource
4
+ class ContactCustomField < Resource
5
5
  class << self
6
6
  # https://api-docs.brightpearl.com/contact/custom-field/get.html
7
7
  def get(contact_id)
@@ -15,4 +15,5 @@ module Brightpearl
15
15
  end
16
16
 
17
17
  end
18
- end
18
+ end
19
+
@@ -0,0 +1,47 @@
1
+ module Brightpearl
2
+ # https://api-docs.brightpearl.com/accounting/customer-payment/index.html
3
+ class CustomerPayment < Resource
4
+ extend Brightpearl::APIOperations::Post
5
+ extend Brightpearl::APIOperations::Delete
6
+
7
+ attr_accessor :payment_id, :transaction_ref, :transaction_code, :payment_method_code,
8
+ :payment_type, :order_id, :currency_id, :currency_code,
9
+ :amount_authorized, :amount_paid, :expires, :payment_date,
10
+ :created_on, :journal_id
11
+
12
+ class << self
13
+ def resource_path
14
+ "accounting-service/customer-payment"
15
+ end
16
+
17
+ # https://api-docs.brightpearl.com/accounting/customer-payment/post.html
18
+ # https://api-docs.brightpearl.com/accounting/customer-payment/delete.html
19
+
20
+ # https://api-docs.brightpearl.com/accounting/customer-payment/search.html
21
+ def search(query_params = {})
22
+ response = send_request(path: "accounting-service/customer-payment-search?#{to_query(query_params)}", method: :get)
23
+ return response.merge({
24
+ records: response[:payload]["response"]["results"].map { |item| CustomerPayment.new(item) },
25
+ })
26
+ end
27
+ end
28
+
29
+ # ARA => API Record Array
30
+ def initialize(ara)
31
+ @payment_id = ara[0]
32
+ @transaction_ref = ara[1]
33
+ @transaction_code = ara[2]
34
+ @payment_method_code = ara[3]
35
+ @payment_type = ara[4]
36
+ @order_id = ara[5]
37
+ @currency_id = ara[6]
38
+ @currency_code = ara[7]
39
+ @amount_authorized = ara[8]
40
+ @amount_paid = ara[9]
41
+ @expires = ara[10]
42
+ @payment_date = ara[11]
43
+ @created_on = ara[12]
44
+ @journal_id = ara[13]
45
+ end
46
+ end
47
+ end
@@ -1,7 +1,7 @@
1
1
  require 'brightpearl/resource'
2
2
 
3
- require 'brightpearl/resources/customer'
4
- require 'brightpearl/resources/customer_custom_field'
3
+ require 'brightpearl/resources/contact'
4
+ require 'brightpearl/resources/contact_custom_field'
5
5
 
6
6
  require 'brightpearl/resources/order'
7
7
  require 'brightpearl/resources/order_row'
@@ -21,4 +21,5 @@ require 'brightpearl/resources/product_availability'
21
21
  require 'brightpearl/resources/webhook'
22
22
 
23
23
  # Accounting
24
- require 'brightpearl/resources/tax_code'
24
+ require 'brightpearl/resources/tax_code'
25
+ require 'brightpearl/resources/customer_payment'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Brightpearl
4
- VERSION = "0.8.0"
4
+ VERSION = "0.10.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-brightpearl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - vicvans20
@@ -152,8 +152,9 @@ files:
152
152
  - lib/brightpearl/errors.rb
153
153
  - lib/brightpearl/resource.rb
154
154
  - lib/brightpearl/resources.rb
155
- - lib/brightpearl/resources/customer.rb
156
- - lib/brightpearl/resources/customer_custom_field.rb
155
+ - lib/brightpearl/resources/contact.rb
156
+ - lib/brightpearl/resources/contact_custom_field.rb
157
+ - lib/brightpearl/resources/customer_payment.rb
157
158
  - lib/brightpearl/resources/goods_out_note.rb
158
159
  - lib/brightpearl/resources/order.rb
159
160
  - lib/brightpearl/resources/order_custom_field.rb