dear_inventory 0.6.3 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
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