printavo-ruby 0.10.0 → 0.11.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 +4 -4
- data/docs/CHANGELOG.md +17 -0
- data/docs/TODO.md +19 -19
- data/lib/printavo/client.rb +12 -0
- data/lib/printavo/models/approval_request.rb +12 -0
- data/lib/printavo/models/preset_task.rb +11 -0
- data/lib/printavo/models/preset_task_group.rb +10 -0
- data/lib/printavo/resources/approval_requests.rb +60 -0
- data/lib/printavo/resources/preset_task_groups.rb +57 -0
- data/lib/printavo/resources/preset_tasks.rb +33 -0
- data/lib/printavo/version.rb +1 -1
- data/lib/printavo.rb +6 -0
- metadata +7 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 61a636be4f585024b3fab02968db29676052b9228c952c936ebcf67249349258
|
|
4
|
+
data.tar.gz: d12592575eaf1d5b9a88babc9dfc4bc86474222c54a9cc5c394e6e8c8b91143e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6aa7d1e5b343728409ca0b3082c9ec9480865b69ecb5db3713cade7c9db897bf2d3bc02571eca4e1a31e4e7f98763955482726c426923f1692d380d972f0e511
|
|
7
|
+
data.tar.gz: 5a14a8ec04f1e8bff553540135077564d9c0e21c58c5e39a93454d70ef36a14512b2b2e75eacd0b068876ad5ca4491c70653b82c45ed205c9e59cd5c94ee49f8
|
data/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,23 @@ All notable changes to this project will be documented in this file.
|
|
|
6
6
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
7
7
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
8
8
|
|
|
9
|
+
## [0.11.0] - 2026-03-31
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
- `Printavo::ApprovalRequest` model (`id`, `status`, `sent_at`, `expires_at`, `contact` — returns `Printavo::Contact`)
|
|
13
|
+
- `ApprovalRequests` resource: `all(order_id:)`, `find(id)`, `create(**input)`,
|
|
14
|
+
`approve(id)`, `revoke(id)`, `unapprove(id)` — action mutations return updated `ApprovalRequest`
|
|
15
|
+
- `Printavo::PresetTask` model (`id`, `body`, `due_offset_days`, `assignee`)
|
|
16
|
+
- `PresetTasks` resource: `find(id)`, `create(**input)`, `update(id, **input)`, `delete(id)` —
|
|
17
|
+
no standalone listing; preset tasks are accessed via `PresetTaskGroup#tasks`
|
|
18
|
+
- `Printavo::PresetTaskGroup` model (`id`, `name`, `tasks` — returns `[PresetTask]`)
|
|
19
|
+
- `PresetTaskGroups` resource: `all`, `find(id)`, `create(**input)`, `update(id, **input)`,
|
|
20
|
+
`delete(id)`, `apply(id, order_id:)` — `apply` returns `[Printavo::Task]` (live tasks created on the order)
|
|
21
|
+
- `client.approval_requests`, `client.preset_task_groups`, `client.preset_tasks`
|
|
22
|
+
entry points on `Printavo::Client`
|
|
23
|
+
- 16 new `.graphql` files under `lib/printavo/graphql/`
|
|
24
|
+
- 2 new factory files: `spec/support/factories/approval_request.rb`, `spec/support/factories/preset_task.rb`
|
|
25
|
+
|
|
9
26
|
## [0.10.0] - 2026-03-31
|
|
10
27
|
|
|
11
28
|
### Added
|
data/docs/TODO.md
CHANGED
|
@@ -147,14 +147,14 @@ return values — they are exposed via model field accessors, not separate resou
|
|
|
147
147
|
|
|
148
148
|
---
|
|
149
149
|
|
|
150
|
-
### Approvals
|
|
150
|
+
### Approvals ✅
|
|
151
151
|
|
|
152
|
-
- [
|
|
153
|
-
- [
|
|
154
|
-
- [
|
|
155
|
-
- [
|
|
156
|
-
- [
|
|
157
|
-
- [
|
|
152
|
+
- [x] `Printavo::ApprovalRequest` model (`id`, `status`, `sent_at`, `expires_at`, `contact`)
|
|
153
|
+
- [x] `ApprovalRequests` resource: `all(order_id:)`, `find(id)`
|
|
154
|
+
- [x] `approvalRequestCreate` mutation
|
|
155
|
+
- [x] `approvalRequestApprove(id:)` mutation
|
|
156
|
+
- [x] `approvalRequestRevoke(id:)` mutation
|
|
157
|
+
- [x] `approvalRequestUnapprove(id:)` mutation
|
|
158
158
|
|
|
159
159
|
### Categories ✅
|
|
160
160
|
|
|
@@ -254,15 +254,15 @@ return values — they are exposed via model field accessors, not separate resou
|
|
|
254
254
|
- [x] `PaymentTerms` resource: `all`, `find(id)`, `create`, `update`, `archive`
|
|
255
255
|
- [x] `paymentTermCreate`, `paymentTermUpdate`, `paymentTermArchive` mutations
|
|
256
256
|
|
|
257
|
-
### Preset Tasks
|
|
257
|
+
### Preset Tasks ✅
|
|
258
258
|
|
|
259
|
-
- [
|
|
260
|
-
- [
|
|
261
|
-
- [
|
|
262
|
-
- [
|
|
263
|
-
- [
|
|
264
|
-
- [
|
|
265
|
-
- [
|
|
259
|
+
- [x] `Printavo::PresetTask` model (`id`, `body`, `due_offset_days`, `assignee`)
|
|
260
|
+
- [x] `Printavo::PresetTaskGroup` model (`id`, `name`, `tasks`)
|
|
261
|
+
- [x] `PresetTasks` resource: `find(id)`, `create`, `update`, `delete`
|
|
262
|
+
- [x] `presetTaskCreate`, `presetTaskUpdate`, `presetTaskDelete` mutations
|
|
263
|
+
- [x] `PresetTaskGroups` resource: `all`, `find(id)`, `create`, `update`, `delete`, `apply`
|
|
264
|
+
- [x] `presetTaskGroupCreate`, `presetTaskGroupUpdate`, `presetTaskGroupDelete` mutations
|
|
265
|
+
- [x] `presetTaskGroupApply(id:, order_id:)` mutation — applies a group to an order
|
|
266
266
|
|
|
267
267
|
### Product Catalog & Pricing ✅
|
|
268
268
|
|
|
@@ -343,11 +343,11 @@ return values — they are exposed via model field accessors, not separate resou
|
|
|
343
343
|
- [x] `PaymentRequests` resource (`all`, `find`, `create`, `delete`)
|
|
344
344
|
- [x] `PaymentTerms` resource (`all`, `find`, `create`, `update`, `archive`)
|
|
345
345
|
|
|
346
|
-
### v0.11.0 — Workflow: Approvals & Preset Tasks
|
|
346
|
+
### v0.11.0 — Workflow: Approvals & Preset Tasks ✅
|
|
347
347
|
|
|
348
|
-
- [
|
|
349
|
-
- [
|
|
350
|
-
- [
|
|
348
|
+
- [x] `ApprovalRequests` resource (`all`, `find`, `create`, `approve`, `revoke`, `unapprove`)
|
|
349
|
+
- [x] `PresetTasks` resource (`find`, `create`, `update`, `delete`)
|
|
350
|
+
- [x] `PresetTaskGroups` resource (`all`, `find`, `create`, `update`, `delete`, `apply`)
|
|
351
351
|
|
|
352
352
|
### v0.12.0 — Files, Media & Communication
|
|
353
353
|
|
data/lib/printavo/client.rb
CHANGED
|
@@ -29,6 +29,10 @@ module Printavo
|
|
|
29
29
|
Resources::Account.new(@graphql)
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
+
def approval_requests
|
|
33
|
+
Resources::ApprovalRequests.new(@graphql)
|
|
34
|
+
end
|
|
35
|
+
|
|
32
36
|
def categories
|
|
33
37
|
Resources::Categories.new(@graphql)
|
|
34
38
|
end
|
|
@@ -109,6 +113,14 @@ module Printavo
|
|
|
109
113
|
Resources::Payments.new(@graphql)
|
|
110
114
|
end
|
|
111
115
|
|
|
116
|
+
def preset_task_groups
|
|
117
|
+
Resources::PresetTaskGroups.new(@graphql)
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
def preset_tasks
|
|
121
|
+
Resources::PresetTasks.new(@graphql)
|
|
122
|
+
end
|
|
123
|
+
|
|
112
124
|
def pricing_matrices
|
|
113
125
|
Resources::PricingMatrices.new(@graphql)
|
|
114
126
|
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# lib/printavo/models/approval_request.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
class ApprovalRequest < Models::Base
|
|
6
|
+
def id = self['id']
|
|
7
|
+
def status = self['status']
|
|
8
|
+
def sent_at = self['sentAt']
|
|
9
|
+
def expires_at = self['expiresAt']
|
|
10
|
+
def contact = self['contact'] && Contact.new(self['contact'])
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# lib/printavo/models/preset_task.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
class PresetTask < Models::Base
|
|
6
|
+
def id = self['id']
|
|
7
|
+
def body = self['body']
|
|
8
|
+
def due_offset_days = self['dueOffsetDays']
|
|
9
|
+
def assignee = self['assignee']
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# lib/printavo/models/preset_task_group.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
class PresetTaskGroup < Models::Base
|
|
6
|
+
def id = self['id']
|
|
7
|
+
def name = self['name']
|
|
8
|
+
def tasks = Array(self['tasks']).map { |attrs| PresetTask.new(attrs) }
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# lib/printavo/resources/approval_requests.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
module Resources
|
|
6
|
+
class ApprovalRequests < Base
|
|
7
|
+
ALL_QUERY = File.read(File.join(__dir__, '../graphql/approval_requests/all.graphql')).freeze
|
|
8
|
+
FIND_QUERY = File.read(File.join(__dir__, '../graphql/approval_requests/find.graphql')).freeze
|
|
9
|
+
CREATE_MUTATION = File.read(File.join(__dir__, '../graphql/approval_requests/create.graphql')).freeze
|
|
10
|
+
APPROVE_MUTATION = File.read(File.join(__dir__, '../graphql/approval_requests/approve.graphql')).freeze
|
|
11
|
+
REVOKE_MUTATION = File.read(File.join(__dir__, '../graphql/approval_requests/revoke.graphql')).freeze
|
|
12
|
+
UNAPPROVE_MUTATION = File.read(File.join(__dir__, '../graphql/approval_requests/unapprove.graphql')).freeze
|
|
13
|
+
|
|
14
|
+
def all(order_id:, first: 25, after: nil)
|
|
15
|
+
fetch_page(order_id: order_id, first: first, after: after).records
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def find(id)
|
|
19
|
+
data = @graphql.query(FIND_QUERY, variables: { id: id.to_s })
|
|
20
|
+
Printavo::ApprovalRequest.new(data['approvalRequest'])
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def create(**input)
|
|
24
|
+
data = @graphql.mutate(CREATE_MUTATION, variables: { input: camelize_keys(input) })
|
|
25
|
+
Printavo::ApprovalRequest.new(data['approvalRequestCreate'])
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def approve(id)
|
|
29
|
+
data = @graphql.mutate(APPROVE_MUTATION, variables: { id: id.to_s })
|
|
30
|
+
Printavo::ApprovalRequest.new(data['approvalRequestApprove'])
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def revoke(id)
|
|
34
|
+
data = @graphql.mutate(REVOKE_MUTATION, variables: { id: id.to_s })
|
|
35
|
+
Printavo::ApprovalRequest.new(data['approvalRequestRevoke'])
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def unapprove(id)
|
|
39
|
+
data = @graphql.mutate(UNAPPROVE_MUTATION, variables: { id: id.to_s })
|
|
40
|
+
Printavo::ApprovalRequest.new(data['approvalRequestUnapprove'])
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
private
|
|
44
|
+
|
|
45
|
+
def fetch_page(order_id:, first: 25, after: nil, **)
|
|
46
|
+
data = @graphql.query(
|
|
47
|
+
ALL_QUERY,
|
|
48
|
+
variables: { orderId: order_id.to_s, first: first, after: after }
|
|
49
|
+
)
|
|
50
|
+
nodes = data['order']['approvalRequests']['nodes'].map { |attrs| Printavo::ApprovalRequest.new(attrs) }
|
|
51
|
+
page_info = data['order']['approvalRequests']['pageInfo']
|
|
52
|
+
Printavo::Page.new(
|
|
53
|
+
records: nodes,
|
|
54
|
+
has_next_page: page_info['hasNextPage'],
|
|
55
|
+
end_cursor: page_info['endCursor']
|
|
56
|
+
)
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# lib/printavo/resources/preset_task_groups.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
module Resources
|
|
6
|
+
class PresetTaskGroups < Base
|
|
7
|
+
ALL_QUERY = File.read(File.join(__dir__, '../graphql/preset_task_groups/all.graphql')).freeze
|
|
8
|
+
FIND_QUERY = File.read(File.join(__dir__, '../graphql/preset_task_groups/find.graphql')).freeze
|
|
9
|
+
CREATE_MUTATION = File.read(File.join(__dir__, '../graphql/preset_task_groups/create.graphql')).freeze
|
|
10
|
+
UPDATE_MUTATION = File.read(File.join(__dir__, '../graphql/preset_task_groups/update.graphql')).freeze
|
|
11
|
+
DELETE_MUTATION = File.read(File.join(__dir__, '../graphql/preset_task_groups/delete.graphql')).freeze
|
|
12
|
+
APPLY_MUTATION = File.read(File.join(__dir__, '../graphql/preset_task_groups/apply.graphql')).freeze
|
|
13
|
+
|
|
14
|
+
def all(first: 25, after: nil)
|
|
15
|
+
fetch_page(first: first, after: after).records
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def find(id)
|
|
19
|
+
data = @graphql.query(FIND_QUERY, variables: { id: id.to_s })
|
|
20
|
+
Printavo::PresetTaskGroup.new(data['presetTaskGroup'])
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def create(**input)
|
|
24
|
+
data = @graphql.mutate(CREATE_MUTATION, variables: { input: camelize_keys(input) })
|
|
25
|
+
Printavo::PresetTaskGroup.new(data['presetTaskGroupCreate'])
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def update(id, **input)
|
|
29
|
+
data = @graphql.mutate(UPDATE_MUTATION, variables: { id: id.to_s, input: camelize_keys(input) })
|
|
30
|
+
Printavo::PresetTaskGroup.new(data['presetTaskGroupUpdate'])
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def delete(id)
|
|
34
|
+
@graphql.mutate(DELETE_MUTATION, variables: { id: id.to_s })
|
|
35
|
+
nil
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def apply(id, order_id:)
|
|
39
|
+
data = @graphql.mutate(APPLY_MUTATION, variables: { id: id.to_s, orderId: order_id.to_s })
|
|
40
|
+
data['presetTaskGroupApply'].map { |attrs| Printavo::Task.new(attrs) }
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
private
|
|
44
|
+
|
|
45
|
+
def fetch_page(first: 25, after: nil, **)
|
|
46
|
+
data = @graphql.query(ALL_QUERY, variables: { first: first, after: after })
|
|
47
|
+
nodes = data['presetTaskGroups']['nodes'].map { |attrs| Printavo::PresetTaskGroup.new(attrs) }
|
|
48
|
+
page_info = data['presetTaskGroups']['pageInfo']
|
|
49
|
+
Printavo::Page.new(
|
|
50
|
+
records: nodes,
|
|
51
|
+
has_next_page: page_info['hasNextPage'],
|
|
52
|
+
end_cursor: page_info['endCursor']
|
|
53
|
+
)
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# lib/printavo/resources/preset_tasks.rb
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Printavo
|
|
5
|
+
module Resources
|
|
6
|
+
class PresetTasks < Base
|
|
7
|
+
FIND_QUERY = File.read(File.join(__dir__, '../graphql/preset_tasks/find.graphql')).freeze
|
|
8
|
+
CREATE_MUTATION = File.read(File.join(__dir__, '../graphql/preset_tasks/create.graphql')).freeze
|
|
9
|
+
UPDATE_MUTATION = File.read(File.join(__dir__, '../graphql/preset_tasks/update.graphql')).freeze
|
|
10
|
+
DELETE_MUTATION = File.read(File.join(__dir__, '../graphql/preset_tasks/delete.graphql')).freeze
|
|
11
|
+
|
|
12
|
+
def find(id)
|
|
13
|
+
data = @graphql.query(FIND_QUERY, variables: { id: id.to_s })
|
|
14
|
+
Printavo::PresetTask.new(data['presetTask'])
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def create(**input)
|
|
18
|
+
data = @graphql.mutate(CREATE_MUTATION, variables: { input: camelize_keys(input) })
|
|
19
|
+
Printavo::PresetTask.new(data['presetTaskCreate'])
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def update(id, **input)
|
|
23
|
+
data = @graphql.mutate(UPDATE_MUTATION, variables: { id: id.to_s, input: camelize_keys(input) })
|
|
24
|
+
Printavo::PresetTask.new(data['presetTaskUpdate'])
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def delete(id)
|
|
28
|
+
@graphql.mutate(DELETE_MUTATION, variables: { id: id.to_s })
|
|
29
|
+
nil
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
data/lib/printavo/version.rb
CHANGED
data/lib/printavo.rb
CHANGED
|
@@ -13,6 +13,7 @@ require_relative 'printavo/graphql_client'
|
|
|
13
13
|
require_relative 'printavo/page'
|
|
14
14
|
require_relative 'printavo/models/base'
|
|
15
15
|
require_relative 'printavo/models/account'
|
|
16
|
+
require_relative 'printavo/models/approval_request'
|
|
16
17
|
require_relative 'printavo/models/category'
|
|
17
18
|
require_relative 'printavo/models/contact'
|
|
18
19
|
require_relative 'printavo/models/customer'
|
|
@@ -30,6 +31,8 @@ require_relative 'printavo/models/order'
|
|
|
30
31
|
require_relative 'printavo/models/payment'
|
|
31
32
|
require_relative 'printavo/models/payment_request'
|
|
32
33
|
require_relative 'printavo/models/payment_term'
|
|
34
|
+
require_relative 'printavo/models/preset_task'
|
|
35
|
+
require_relative 'printavo/models/preset_task_group'
|
|
33
36
|
require_relative 'printavo/models/pricing_matrix'
|
|
34
37
|
require_relative 'printavo/models/product'
|
|
35
38
|
require_relative 'printavo/models/status'
|
|
@@ -39,6 +42,7 @@ require_relative 'printavo/models/transaction'
|
|
|
39
42
|
require_relative 'printavo/models/transaction_payment'
|
|
40
43
|
require_relative 'printavo/resources/base'
|
|
41
44
|
require_relative 'printavo/resources/account'
|
|
45
|
+
require_relative 'printavo/resources/approval_requests'
|
|
42
46
|
require_relative 'printavo/resources/categories'
|
|
43
47
|
require_relative 'printavo/resources/contacts'
|
|
44
48
|
require_relative 'printavo/resources/customers'
|
|
@@ -56,6 +60,8 @@ require_relative 'printavo/resources/orders'
|
|
|
56
60
|
require_relative 'printavo/resources/payment_requests'
|
|
57
61
|
require_relative 'printavo/resources/payment_terms'
|
|
58
62
|
require_relative 'printavo/resources/payments'
|
|
63
|
+
require_relative 'printavo/resources/preset_task_groups'
|
|
64
|
+
require_relative 'printavo/resources/preset_tasks'
|
|
59
65
|
require_relative 'printavo/resources/pricing_matrices'
|
|
60
66
|
require_relative 'printavo/resources/products'
|
|
61
67
|
require_relative 'printavo/resources/statuses'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: printavo-ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.11.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Stan Carver II
|
|
@@ -273,6 +273,7 @@ files:
|
|
|
273
273
|
- lib/printavo/errors.rb
|
|
274
274
|
- lib/printavo/graphql_client.rb
|
|
275
275
|
- lib/printavo/models/account.rb
|
|
276
|
+
- lib/printavo/models/approval_request.rb
|
|
276
277
|
- lib/printavo/models/base.rb
|
|
277
278
|
- lib/printavo/models/category.rb
|
|
278
279
|
- lib/printavo/models/contact.rb
|
|
@@ -291,6 +292,8 @@ files:
|
|
|
291
292
|
- lib/printavo/models/payment.rb
|
|
292
293
|
- lib/printavo/models/payment_request.rb
|
|
293
294
|
- lib/printavo/models/payment_term.rb
|
|
295
|
+
- lib/printavo/models/preset_task.rb
|
|
296
|
+
- lib/printavo/models/preset_task_group.rb
|
|
294
297
|
- lib/printavo/models/pricing_matrix.rb
|
|
295
298
|
- lib/printavo/models/product.rb
|
|
296
299
|
- lib/printavo/models/status.rb
|
|
@@ -300,6 +303,7 @@ files:
|
|
|
300
303
|
- lib/printavo/models/transaction_payment.rb
|
|
301
304
|
- lib/printavo/page.rb
|
|
302
305
|
- lib/printavo/resources/account.rb
|
|
306
|
+
- lib/printavo/resources/approval_requests.rb
|
|
303
307
|
- lib/printavo/resources/base.rb
|
|
304
308
|
- lib/printavo/resources/categories.rb
|
|
305
309
|
- lib/printavo/resources/contacts.rb
|
|
@@ -318,6 +322,8 @@ files:
|
|
|
318
322
|
- lib/printavo/resources/payment_requests.rb
|
|
319
323
|
- lib/printavo/resources/payment_terms.rb
|
|
320
324
|
- lib/printavo/resources/payments.rb
|
|
325
|
+
- lib/printavo/resources/preset_task_groups.rb
|
|
326
|
+
- lib/printavo/resources/preset_tasks.rb
|
|
321
327
|
- lib/printavo/resources/pricing_matrices.rb
|
|
322
328
|
- lib/printavo/resources/products.rb
|
|
323
329
|
- lib/printavo/resources/statuses.rb
|