lockstep_rails 0.3.34 → 0.3.36

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: 11d7e20990a95502b074c561bf66b38b4d9578956ae8a8b30009156dcddc9128
4
- data.tar.gz: cf88371e3c097ca5133a9e739f15538d7dd0eaf88e6afc43528161f64cba1498
3
+ metadata.gz: 05bd7ba3de1568889d934bc0160f923ecf173f1fe5f357856a9fc221d07fe039
4
+ data.tar.gz: 4a1458573f08c1b33aa11da01487df04ca403e9bff7f9e8039f723284e47f62b
5
5
  SHA512:
6
- metadata.gz: fdfa5f9757e3fefcb91f285d20ebc7cb13a53df53988f80b417b4030beb58a34c33ca5e1b031bbfc2b86edf59dfb4738d070dac68639a14d38625534820c5f4a
7
- data.tar.gz: 8cb82a10a58c4b8d477b5c49ef2c25a56a88a3e2699991388e95be8333c8ca2b86c9568cf3e5806394628b322c6a5bd1620b920077a99e0c7e9a1550c7320d46
6
+ metadata.gz: 887d60f6868d2d525de634193da364ff24a86447d3b1e5616421d7c4ccefcb3c5b55d55c64ff3be0c7ec6f9ad94e794e3951ada7e0e9ffb3eef3834c4da6824f
7
+ data.tar.gz: 7adadb32cc6a971a5c9e4c816cd2e12f15aa85c845a73dab446f645cb1061d9f0f38d82da34b9d30cc3c0c84c161de4170d0cb5336b7e34c1309e981a37205da
data/README.md CHANGED
@@ -60,6 +60,7 @@ The gem is available as open source under the terms of the [MIT License](https:/
60
60
  * Lockstep::ReportPayableSummary
61
61
  * Lockstep::ReportPayablesComingDueSummary
62
62
  * Lockstep::ApiKey
63
+ * Lockstep::InvoiceAtRiskSummary
63
64
 
64
65
  ## ActiveModel Interfaces
65
66
 
@@ -0,0 +1,32 @@
1
+ class Lockstep::ApHeader < Lockstep::ApiRecord
2
+ self.model_name_uri = "v1/Reports/ap-header"
3
+ self.id_ref = "group_key"
4
+ self.query_path= ""
5
+ load_schema(Schema::ApHeaderInfo)
6
+
7
+ end
8
+
9
+ class Lockstep::Query
10
+ # Overriding the build_params method to just add attributes in params without filter option
11
+ def build_params
12
+ params = {}
13
+ criteria[:conditions].first.each do |key|
14
+ params.merge!({ :"#{key[0].to_s.camelize(:lower)}" => key[1] })
15
+ end
16
+ return params
17
+ end
18
+
19
+ # Overrinding the get_results method to parse the single object coming from v1.
20
+ def get_results(params = {})
21
+ resp = @klass.resource.get(@klass.query_path, :params => params)
22
+
23
+ return [] if %w(404).include?(resp.code.to_s)
24
+ # TODO handle non 200 response code. Throwing an exception for now
25
+ raise StandardError.new("#{resp.code} error while fetching: #{resp.body}") unless %w(201 200).include?(resp.code.to_s)
26
+
27
+ parsed_response = JSON.parse(resp.body)
28
+
29
+ r = parsed_response.transform_keys { |key| key.underscore }
30
+ @klass.model_name.to_s.constantize.new(r, false)
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ class Lockstep::ArHeader < Lockstep::ApiRecord
2
+ self.model_name_uri = "v1/Reports/ar-header"
3
+ self.id_ref = "group_key"
4
+ self.query_path= ""
5
+ load_schema(Schema::ArHeaderInfo)
6
+
7
+ end
8
+
9
+ class Lockstep::Query
10
+ # Overriding the build_params method to just add attributes in params without filter option
11
+ def build_params
12
+ params = {}
13
+ criteria[:conditions].first.each do |key|
14
+ params.merge!({ :"#{key[0].to_s.camelize(:lower)}" => key[1] })
15
+ end
16
+ return params
17
+ end
18
+
19
+ # Overrinding the get_results method to parse the single object coming from v1.
20
+ def get_results(params = {})
21
+ resp = @klass.resource.get(@klass.query_path, :params => params)
22
+
23
+ return [] if %w(404).include?(resp.code.to_s)
24
+ # TODO handle non 200 response code. Throwing an exception for now
25
+ raise StandardError.new("#{resp.code} error while fetching: #{resp.body}") unless %w(201 200).include?(resp.code.to_s)
26
+
27
+ parsed_response = JSON.parse(resp.body)
28
+
29
+ r = parsed_response.transform_keys { |key| key.underscore }
30
+ @klass.model_name.to_s.constantize.new(r, false)
31
+ end
32
+ end
@@ -0,0 +1,6 @@
1
+ class Lockstep::InvoiceAtRiskSummary < Lockstep::ApiRecord
2
+ self.model_name_uri = "v1/Invoices/views/at-risk-summary"
3
+ self.id_ref = "invoice_id"
4
+ self.query_path = ""
5
+ load_schema(Schema::InvoiceAtRiskSummary)
6
+ end
@@ -0,0 +1,148 @@
1
+ class Schema::ApHeaderInfo < Lockstep::ApiRecord
2
+
3
+ # ApiRecord will crash unless `id_ref` is defined
4
+ def self.id_ref
5
+ nil
6
+ end
7
+
8
+ # The GroupKey uniquely identifies a single Lockstep Platform account. All records for this
9
+ # account will share the same GroupKey value. GroupKey values cannot be changed once created.
10
+ #
11
+ # For more information, see [Accounts and GroupKeys](https://developer.lockstep.io/docs/accounts-and-groupkeys).
12
+ # @type: string
13
+ # @format: uuid
14
+ field :group_key
15
+
16
+ # The date of the report
17
+ # @type: string
18
+ # @format: date
19
+ field :report_date
20
+
21
+ # The date of the report
22
+ # @type: string
23
+ # @format: uuid
24
+ field :company_id
25
+
26
+ # The total number of vendors..
27
+ # @type: integer
28
+ # @format: int32
29
+ field :total_vendors
30
+
31
+ # The total number of bills.
32
+ # @type: integer
33
+ # @format: int32
34
+ field :total_bills
35
+
36
+ # The total amount billed.
37
+ # @type: number
38
+ # @format: double
39
+ field :total_billed_amount
40
+
41
+ # The total number of advance payments.
42
+ # @type: number
43
+ # @format: double
44
+ field :total_advance_payments
45
+
46
+ # The total amount paid.
47
+ # @type: number
48
+ # @format: double
49
+ field :total_paid
50
+
51
+ # The total accounts payable amount.
52
+ # @type: number
53
+ # @format: double
54
+ field :total_ap_amount
55
+
56
+ # The number of paid bills.
57
+ # @type: integer
58
+ # @format: int32
59
+ field :total_bills_paid
60
+
61
+ # The number of past due bills.
62
+ # @type: integer
63
+ # @format: int32
64
+ field :total_bills_past_due
65
+
66
+ # The number of bills 90+ days past due.
67
+ # @type: integer
68
+ # @format: int32
69
+ field :total_bills90_days_past_due
70
+
71
+ # The total amount past due.
72
+ # @type: number
73
+ # @format: double
74
+ field :total_past_due_amount
75
+
76
+ # The total amount for bills 90+ days past due.
77
+ # @type: number
78
+ # @format: double
79
+ field :total_past_due_amount90_days
80
+
81
+ # Portion of Total AP that is Past due.
82
+ # @type: number
83
+ # @format: double
84
+ field :percentage_of_total_ap
85
+
86
+ # The total amount billed, due this year.
87
+ # @type: number
88
+ # @format: double
89
+ field :total_billed_amount_current_year
90
+
91
+ # The total amount billed, due last year.
92
+ # @type: number
93
+ # @format: double
94
+ field :total_billed_amount_previous_year
95
+
96
+ # The total of all payments made this year.
97
+ # @type: number
98
+ # @format: double
99
+ field :total_paid_amount_current_year
100
+
101
+ # Portion of Total AP that is 90+ days Past due.
102
+ # @type: number
103
+ # @format: double
104
+ field :percentage_of_total_ap90_days_past_due
105
+
106
+ # The number of vendors who were paid within the past thirty days.
107
+ # @type: integer
108
+ # @format: int32
109
+ field :vendors_paid_past_thirty_days
110
+
111
+ # The total amount paid over the past thirty days.
112
+ # @type: number
113
+ # @format: double
114
+ field :amount_paid_past_thirty_days
115
+
116
+ # The amount in advance from the payments made over the past thirty days.
117
+ # @type: number
118
+ # @format: double
119
+ field :advance_payment_amount_past_thirty_days
120
+
121
+ # The number of bills paid over the past thirty days.
122
+ # @type: integer
123
+ # @format: int32
124
+ field :bills_paid_past_thirty_days
125
+
126
+ # The number of vendors that sent bills over the the past thirty days.
127
+ # @type: integer
128
+ # @format: int32
129
+ field :billing_vendors_past_thirty_days
130
+
131
+ # The total amount billed over the past thirty days.
132
+ # @type: number
133
+ # @format: double
134
+ field :amount_billed_past_thirty_days
135
+
136
+ # The amount outstanding on the bills received over the past thirty days.
137
+ # @type: number
138
+ # @format: double
139
+ field :amount_due_past_thirty_days
140
+
141
+ # The number of bills received over the past thirty days.
142
+ # @type: integer
143
+ # @format: int32
144
+ field :bills_past_thirty_days
145
+
146
+
147
+
148
+ end
@@ -5,9 +5,9 @@ def self.id_ref
5
5
  nil
6
6
  end
7
7
 
8
- # The GroupKey uniquely identifies a single Lockstep Platform account. All records for this
9
- # account will share the same GroupKey value. GroupKey values cannot be changed once created.
10
- #
8
+ # The GroupKey uniquely identifies a single Lockstep Platform account. All records for this
9
+ # account will share the same GroupKey value. GroupKey values cannot be changed once created.
10
+ #
11
11
  # For more information, see [Accounts and GroupKeys](https://developer.lockstep.io/docs/accounts-and-groupkeys).
12
12
  # @type: string
13
13
  # @format: uuid
@@ -16,7 +16,12 @@ end
16
16
  # The date of the report
17
17
  # @type: string
18
18
  # @format: date
19
- field :report_period
19
+ field :report_date
20
+
21
+ # The date of the report
22
+ # @type: string
23
+ # @format: uuid
24
+ field :company_id
20
25
 
21
26
  # The total number of customers.
22
27
  # @type: integer
@@ -0,0 +1,90 @@
1
+ class Schema::InvoiceAtRiskSummary < Lockstep::ApiRecord
2
+
3
+ # ApiRecord will crash unless `id_ref` is defined
4
+ def self.id_ref
5
+ nil
6
+ end
7
+
8
+ # The date of the report.
9
+ # @type: string
10
+ # @format: date
11
+ field :report_date
12
+
13
+ # The GroupKey uniquely identifies a single Lockstep Platform account. All records for this
14
+ # account will share the same GroupKey value. GroupKey values cannot be changed once created.
15
+ #
16
+ # For more information, see [Accounts and GroupKeys](https://developer.lockstep.io/docs/accounts-and-groupkeys).
17
+ # @type: string
18
+ # @format: uuid
19
+ field :group_key
20
+
21
+ # The ID number of the counterparty for the invoice, for example, a customer or vendor.
22
+ # @type: string
23
+ # @format: uuid
24
+ field :customer_id
25
+
26
+ # The unique ID number of this invoice.
27
+ # @type: string
28
+ # @format: uuid
29
+ field :invoice_id
30
+
31
+ # A reference code that is used to identify this invoice.
32
+ # The meaning of this field is specific to the ERP or accounting system used by the user.
33
+ # @type: string
34
+ field :invoice_number
35
+
36
+ # The reporting date for this invoice.
37
+ # @type: string
38
+ # @format: date
39
+ field :invoice_date
40
+
41
+ # The name of the counterparty for the invoice, for example, a customer or vendor.
42
+ # @type: string
43
+ field :customer_name
44
+
45
+ # The status of the invoice.
46
+ # @type: string
47
+ field :status
48
+
49
+ # The due date of the invoice.
50
+ # @type: string
51
+ # @format: date
52
+ field :payment_due_date
53
+
54
+ # The total amount of the Invoice.
55
+ # @type: number
56
+ # @format: double
57
+ field :invoice_amount
58
+
59
+ # The remaining balance value of this invoice.
60
+ # @type: number
61
+ # @format: double
62
+ field :outstanding_balance
63
+
64
+ # A code identifying the type of this Invoice.
65
+ # @type: string
66
+ field :invoice_type_code
67
+
68
+ # The date stamp for the newest Activity on this Invoice.
69
+ # @type: string
70
+ # @format: date
71
+ field :newest_activity
72
+
73
+ # The number of days this Invoice is past due.
74
+ # @type: integer
75
+ # @format: int32
76
+ field :days_past_due
77
+
78
+ # The memo text of the payments associated to this invoice.
79
+ # @type: array
80
+ field :payment_numbers
81
+
82
+ # The ids of the payments associated to this invoice.
83
+ # @type: array
84
+ field :payment_ids
85
+
86
+ belongs_to :customer, {:class_name=>"Lockstep::Connection", :primary_key=>:company_id, :foreign_key=>"customer_id"}
87
+ belongs_to :connection, {:class_name=>"Lockstep::Connection", :primary_key=>:company_id, :foreign_key=>"customer_id"}
88
+
89
+
90
+ end
@@ -1,3 +1,3 @@
1
1
  module LockstepRails
2
- VERSION = "0.3.34"
2
+ VERSION = "0.3.36"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lockstep_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.34
4
+ version: 0.3.36
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vivek AG
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-17 00:00:00.000000000 Z
11
+ date: 2022-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -46,12 +46,15 @@ files:
46
46
  - app/concepts/lockstep/relation_array.rb
47
47
  - app/helpers/types.rb
48
48
  - app/models/lockstep/account.rb
49
+ - app/models/lockstep/ap_header.rb
49
50
  - app/models/lockstep/api_key.rb
50
51
  - app/models/lockstep/app_enrollment.rb
52
+ - app/models/lockstep/ar_header.rb
51
53
  - app/models/lockstep/connection.rb
52
54
  - app/models/lockstep/contact.rb
53
55
  - app/models/lockstep/customer_summary.rb
54
56
  - app/models/lockstep/invoice.rb
57
+ - app/models/lockstep/invoice_at_risk_summary.rb
55
58
  - app/models/lockstep/invoice_summary.rb
56
59
  - app/models/lockstep/invoices/address.rb
57
60
  - app/models/lockstep/note.rb
@@ -77,6 +80,7 @@ files:
77
80
  - app/platform_api/schema/activity_x_ref.rb
78
81
  - app/platform_api/schema/aging.rb
79
82
  - app/platform_api/schema/ap_aging_header_info.rb
83
+ - app/platform_api/schema/ap_header_info.rb
80
84
  - app/platform_api/schema/api_key.rb
81
85
  - app/platform_api/schema/api_key_fetch_result.rb
82
86
  - app/platform_api/schema/app_enrollment.rb
@@ -150,6 +154,7 @@ files:
150
154
  - app/platform_api/schema/invite_submit.rb
151
155
  - app/platform_api/schema/invoice.rb
152
156
  - app/platform_api/schema/invoice_address.rb
157
+ - app/platform_api/schema/invoice_at_risk_summary.rb
153
158
  - app/platform_api/schema/invoice_fetch_result.rb
154
159
  - app/platform_api/schema/invoice_history.rb
155
160
  - app/platform_api/schema/invoice_history_fetch_result.rb