dear_inventory 0.6.3 → 0.7.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: 05d549644157f0bd95430f8e30866a20f3c769e19d0d59a5481df5fa61a4d1d1
4
- data.tar.gz: eb528d6d5dcc603a5aba7cc61459094f5fd7214486f9bc9b6afe9021c29a94b0
3
+ metadata.gz: 86c0378bf7a1cc54d02cd122095212afd620a16346df8e3be7c09802f4a854e3
4
+ data.tar.gz: d014ae24576d120bb54f67283c1d6f1348d388e0a686d989e60e345801f687df
5
5
  SHA512:
6
- metadata.gz: 5148564599d630c5f71e64ea7b68d5daa4821df32127b831bab7e2a5a636284dda7e0643b08d7a0923d9587d125b97799f1b7712dc8823065c6017d69e8a69bc
7
- data.tar.gz: dca2d9014270f6eed041525bcfb07630aa08a7923564bf90142b09cb2e476f2f3a7c6a5e9ccedee15cc682c55a74f0e171642effcb419cffc1d7365ae90fd5d4
6
+ metadata.gz: 473179f9c82e9575ab601576b6b79db220a3fb6c6b7718b9b5e39e4ef5f5cb3aac5fd68b6291a69144bbf7c4ce7982686764b8aba33c2f34fd74422d41fc26e1
7
+ data.tar.gz: 6fe8d252829187df5f95f21f2986e01f316e4f7890cb76bdbdf882cde7432d05d652b5bbaf3e127648f4a2977a9be87dd6de42acd0b516f232589a9dce8fde6f
data/.rubocop.yml CHANGED
@@ -7,7 +7,7 @@ AllCops:
7
7
  Exclude:
8
8
  - bin/**/*
9
9
 
10
- Layout/AlignParameters:
10
+ Layout/ParameterAlignment:
11
11
  EnforcedStyle: with_fixed_indentation
12
12
 
13
13
  Layout/DotPosition:
@@ -17,7 +17,7 @@ Layout/EndAlignment:
17
17
  AutoCorrect: true
18
18
  EnforcedStyleAlignWith: variable
19
19
 
20
- Layout/IndentFirstArrayElement:
20
+ Layout/FirstArrayElementIndentation:
21
21
  EnforcedStyle: consistent
22
22
 
23
23
  Layout/MultilineMethodCallIndentation:
@@ -36,6 +36,7 @@ Metrics/BlockLength:
36
36
  - spec/**/*
37
37
 
38
38
  Metrics/ClassLength:
39
+ Max: 150
39
40
  Exclude:
40
41
  - lib/dear_inventory/models/**/*
41
42
 
@@ -55,6 +55,8 @@ module DearInventory
55
55
 
56
56
  private
57
57
 
58
+ # rubocop:disable Metrics/AbcSize
59
+ # rubocop:disable Metrics/CyclomaticComplexity
58
60
  # rubocop:disable Metrics/MethodLength
59
61
  sig do
60
62
  params(
@@ -87,6 +89,8 @@ module DearInventory
87
89
  value
88
90
  end
89
91
  end
92
+ # rubocop:enable Metrics/AbcSize
93
+ # rubocop:enable Metrics/CyclomaticComplexity
90
94
  # rubocop:enable Metrics/MethodLength
91
95
 
92
96
  sig do
@@ -0,0 +1,135 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Customer < DearInventory::Model
7
+ extend T::Sig
8
+
9
+ fields(
10
+ ID: {
11
+ name: :id,
12
+ type: :Guid,
13
+ },
14
+ Name: {
15
+ name: :name,
16
+ type: :String,
17
+ },
18
+ Status: {
19
+ name: :status,
20
+ type: :String,
21
+ },
22
+ Currency: {
23
+ name: :currency,
24
+ type: :String,
25
+ },
26
+ PaymentTerm: {
27
+ name: :payment_term,
28
+ type: :String,
29
+ },
30
+ AccountReceivable: {
31
+ name: :account_receivable,
32
+ type: :String,
33
+ },
34
+ RevenueAccount: {
35
+ name: :revenue_account,
36
+ type: :String,
37
+ },
38
+ TaxRule: {
39
+ name: :tax_rule,
40
+ type: :String,
41
+ },
42
+ PriceTier: {
43
+ name: :price_tier,
44
+ type: :String,
45
+ },
46
+ Carrier: {
47
+ name: :carrier,
48
+ type: :String,
49
+ },
50
+ SalesRepresentative: {
51
+ name: :sales_representative,
52
+ type: :String,
53
+ },
54
+ Location: {
55
+ name: :location,
56
+ type: :String,
57
+ },
58
+ Discount: {
59
+ name: :discount,
60
+ type: :Integer,
61
+ },
62
+ Comments: {
63
+ name: :comments,
64
+ type: :String,
65
+ },
66
+ TaxNumber: {
67
+ name: :tax_number,
68
+ type: :Integer,
69
+ },
70
+ CreditLimit: {
71
+ name: :credit_limit,
72
+ type: :Integer,
73
+ },
74
+ Tag: {
75
+ name: :tag,
76
+ type: :String,
77
+ },
78
+ AttributeSet: {
79
+ name: :attribute_set,
80
+ type: :String,
81
+ },
82
+ AdditionalAttribute1: {
83
+ name: :additional_attribute_1,
84
+ type: :String,
85
+ },
86
+ AdditionalAttribute2: {
87
+ name: :additional_attribute_2,
88
+ type: :String,
89
+ },
90
+ AdditionalAttribute3: {
91
+ name: :additional_attribute_3,
92
+ type: :String,
93
+ },
94
+ AdditionalAttribute4: {
95
+ name: :additional_attribute_4,
96
+ type: :String,
97
+ },
98
+ AdditionalAttribute5: {
99
+ name: :additional_attribute_5,
100
+ type: :String,
101
+ },
102
+ AdditionalAttribute6: {
103
+ name: :additional_attribute_6,
104
+ type: :String,
105
+ },
106
+ AdditionalAttribute7: {
107
+ name: :additional_attribute_7,
108
+ type: :String,
109
+ },
110
+ AdditionalAttribute8: {
111
+ name: :additional_attribute_8,
112
+ type: :String,
113
+ },
114
+ AdditionalAttribute9: {
115
+ name: :additional_attribute_9,
116
+ type: :String,
117
+ },
118
+ LastModifiedOn: {
119
+ name: :last_modified_on,
120
+ type: :String,
121
+ },
122
+ Addresses: {
123
+ name: :addresses,
124
+ type: :Array,
125
+ model: DearInventory::Models::Customers::Address,
126
+ },
127
+ Contacts: {
128
+ name: :contacts,
129
+ type: :Array,
130
+ model: DearInventory::Models::Customers::Contact,
131
+ }
132
+ )
133
+ end
134
+ end
135
+ end
@@ -0,0 +1,51 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Customers < DearInventory::Model
7
+ class Address < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields(
11
+ TaskID: {
12
+ name: :task_id,
13
+ type: :Guid,
14
+ },
15
+ Line1: {
16
+ name: :line_1,
17
+ type: :String,
18
+ },
19
+ Line2: {
20
+ name: :line_2,
21
+ type: :String,
22
+ },
23
+ City: {
24
+ name: :city,
25
+ type: :String,
26
+ },
27
+ State: {
28
+ name: :state,
29
+ type: :String,
30
+ },
31
+ Postcode: {
32
+ name: :postcode,
33
+ type: :String,
34
+ },
35
+ Country: {
36
+ name: :country,
37
+ type: :String,
38
+ },
39
+ Type: {
40
+ name: :type,
41
+ type: :String,
42
+ },
43
+ DefaultForType: {
44
+ name: :default_for_type,
45
+ type: :Boolean,
46
+ }
47
+ )
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,55 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Customers < DearInventory::Model
7
+ class Contact < DearInventory::Model
8
+ extend T::Sig
9
+
10
+ fields(
11
+ ID: {
12
+ name: :id,
13
+ type: :Guid,
14
+ },
15
+ Name: {
16
+ name: :name,
17
+ type: :Guid,
18
+ },
19
+ Phone: {
20
+ name: :phone,
21
+ type: :Guid,
22
+ },
23
+ MobilePhone: {
24
+ name: :mobile_phone,
25
+ type: :Guid,
26
+ },
27
+ Fax: {
28
+ name: :fax,
29
+ type: :Guid,
30
+ },
31
+ Email: {
32
+ name: :email,
33
+ type: :Guid,
34
+ },
35
+ Website: {
36
+ name: :website,
37
+ type: :Guid,
38
+ },
39
+ Comment: {
40
+ name: :comment,
41
+ type: :Guid,
42
+ },
43
+ Default: {
44
+ name: :default,
45
+ type: :Guid,
46
+ },
47
+ IncludeInEmail: {
48
+ name: :include_in_email,
49
+ type: :Guid,
50
+ }
51
+ )
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,26 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ module Models
6
+ class Customers < DearInventory::Model
7
+ extend T::Sig
8
+
9
+ fields(
10
+ Total: {
11
+ name: :total,
12
+ type: :Integer,
13
+ },
14
+ Page: {
15
+ name: :page,
16
+ type: :Integer,
17
+ },
18
+ CustomerList: {
19
+ name: :customer_list,
20
+ type: :Array,
21
+ model: DearInventory::Models::Customer,
22
+ }
23
+ )
24
+ end
25
+ end
26
+ end
@@ -125,7 +125,7 @@ module DearInventory
125
125
  },
126
126
  PriceTiers: {
127
127
  name: :price_tiers,
128
- type: :Untyped
128
+ type: :Untyped,
129
129
  },
130
130
  AverageCost: {
131
131
  name: :average_cost,
@@ -0,0 +1,45 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ class Parameters
6
+ module Customer
7
+ class Index < DearInventory::Parameters
8
+ extend T::Sig
9
+
10
+ fields(
11
+ id: {
12
+ property: :ID,
13
+ type: :Guid,
14
+ required: false,
15
+ },
16
+ page: {
17
+ property: :Page,
18
+ type: :Integer,
19
+ required: false,
20
+ },
21
+ limit: {
22
+ property: :Limit,
23
+ type: :Integer,
24
+ required: false,
25
+ },
26
+ name: {
27
+ property: :Name,
28
+ type: :String,
29
+ required: false,
30
+ },
31
+ modified_since: {
32
+ property: :ModifiedSince,
33
+ type: :DateTime,
34
+ required: false,
35
+ },
36
+ include_deprecated: {
37
+ property: :IncludeDeprecated,
38
+ type: :Boolean,
39
+ required: false,
40
+ }
41
+ )
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,24 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ module DearInventory
5
+ class Customer < Resource
6
+ class << self
7
+ extend T::Sig
8
+
9
+ # Customer
10
+ #
11
+ # @param params [Hash] URL query string parameters that conform to
12
+ # DearInventory::Parameters::Customer::Index
13
+ sig do
14
+ params(params: T::Hash[Symbol, T.untyped]).
15
+ returns(DearInventory::Response)
16
+ end
17
+ def index(params = {})
18
+ new.request(
19
+ :get, params: params, model: DearInventory::Models::Customers
20
+ )
21
+ end
22
+ end
23
+ end
24
+ end
@@ -2,5 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  module DearInventory
5
- VERSION = "0.6.3"
5
+ VERSION = "0.7.0"
6
6
  end
@@ -23,6 +23,8 @@ require "dear_inventory/models/address"
23
23
  require "dear_inventory/models/attachment"
24
24
  require "dear_inventory/models/bill_of_materials_product"
25
25
  require "dear_inventory/models/bill_of_materials_service"
26
+ require "dear_inventory/models/customers/address"
27
+ require "dear_inventory/models/customers/contact"
26
28
  require "dear_inventory/models/inventory_movement"
27
29
  require "dear_inventory/models/products/movement"
28
30
  require "dear_inventory/models/purchase_list"
@@ -58,6 +60,8 @@ require "dear_inventory/models/sales/fulfilments/ship"
58
60
  require "dear_inventory/models/sales/fulfilment"
59
61
  require "dear_inventory/models/sale_lists"
60
62
 
63
+ require "dear_inventory/models/customer"
64
+ require "dear_inventory/models/customers"
61
65
  require "dear_inventory/models/product"
62
66
  require "dear_inventory/models/products"
63
67
  require "dear_inventory/models/purchases/credit_note"
@@ -79,6 +83,7 @@ require "dear_inventory/validators/string"
79
83
  require "dear_inventory/validators/time"
80
84
 
81
85
  require "dear_inventory/parameters"
86
+ require "dear_inventory/parameters/customer/index"
82
87
  require "dear_inventory/parameters/product/index"
83
88
  require "dear_inventory/parameters/purchase/index"
84
89
  require "dear_inventory/parameters/purchase_list/index"
@@ -86,6 +91,7 @@ require "dear_inventory/parameters/sale/index"
86
91
  require "dear_inventory/parameters/sale_list/index"
87
92
 
88
93
  require "dear_inventory/resource"
94
+ require "dear_inventory/resources/customer"
89
95
  require "dear_inventory/resources/product"
90
96
  require "dear_inventory/resources/purchase"
91
97
  require "dear_inventory/resources/purchase_list"
@@ -107,9 +113,11 @@ module DearInventory
107
113
  sig { returns(Config) }
108
114
  attr_reader :config
109
115
 
116
+ # rubocop:disable Lint/UnusedMethodArgument
110
117
  sig { params(block: T.proc.params(config: Config).void).void }
111
118
  def configure(&block)
112
119
  yield config
113
120
  end
121
+ # rubocop:enable Lint/UnusedMethodArgument
114
122
  end
115
123
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dear_inventory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Rice
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-18 00:00:00.000000000 Z
11
+ date: 2020-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http
@@ -235,6 +235,10 @@ files:
235
235
  - lib/dear_inventory/models/attachment.rb
236
236
  - lib/dear_inventory/models/bill_of_materials_product.rb
237
237
  - lib/dear_inventory/models/bill_of_materials_service.rb
238
+ - lib/dear_inventory/models/customer.rb
239
+ - lib/dear_inventory/models/customers.rb
240
+ - lib/dear_inventory/models/customers/address.rb
241
+ - lib/dear_inventory/models/customers/contact.rb
238
242
  - lib/dear_inventory/models/inventory_movement.rb
239
243
  - lib/dear_inventory/models/product.rb
240
244
  - lib/dear_inventory/models/products.rb
@@ -280,12 +284,14 @@ files:
280
284
  - lib/dear_inventory/models/supplier.rb
281
285
  - lib/dear_inventory/models/transaction.rb
282
286
  - lib/dear_inventory/parameters.rb
287
+ - lib/dear_inventory/parameters/customer/index.rb
283
288
  - lib/dear_inventory/parameters/product/index.rb
284
289
  - lib/dear_inventory/parameters/purchase/index.rb
285
290
  - lib/dear_inventory/parameters/purchase_list/index.rb
286
291
  - lib/dear_inventory/parameters/sale/index.rb
287
292
  - lib/dear_inventory/parameters/sale_list/index.rb
288
293
  - lib/dear_inventory/resource.rb
294
+ - lib/dear_inventory/resources/customer.rb
289
295
  - lib/dear_inventory/resources/product.rb
290
296
  - lib/dear_inventory/resources/purchase.rb
291
297
  - lib/dear_inventory/resources/purchase_list.rb