Class: Printavo::Resources::Expenses
- Inherits:
-
Base
- Object
- Base
- Printavo::Resources::Expenses
show all
- Defined in:
- lib/printavo/resources/expenses.rb
Constant Summary
collapse
- ALL_QUERY =
File.read(File.join(__dir__, '../graphql/expenses/all.graphql')).freeze
- FIND_QUERY =
File.read(File.join(__dir__, '../graphql/expenses/find.graphql')).freeze
- CREATE_MUTATION =
File.read(File.join(__dir__, '../graphql/expenses/create.graphql')).freeze
- UPDATE_MUTATION =
File.read(File.join(__dir__, '../graphql/expenses/update.graphql')).freeze
Instance Method Summary
collapse
Methods inherited from Base
#all_pages, #each_page, #initialize
Instance Method Details
#all(order_id:, first: 25, after: nil) ⇒ Object
12
13
14
|
# File 'lib/printavo/resources/expenses.rb', line 12
def all(order_id:, first: 25, after: nil)
fetch_page(order_id: order_id, first: first, after: after).records
end
|
#create(**input) ⇒ Object
21
22
23
24
|
# File 'lib/printavo/resources/expenses.rb', line 21
def create(**input)
data = @graphql.mutate(CREATE_MUTATION, variables: { input: camelize_keys(input) })
Printavo::Expense.new(data['expenseCreate'])
end
|
#find(id) ⇒ Object
16
17
18
19
|
# File 'lib/printavo/resources/expenses.rb', line 16
def find(id)
data = @graphql.query(FIND_QUERY, variables: { id: id.to_s })
Printavo::Expense.new(data['expense'])
end
|
#update(id, **input) ⇒ Object
26
27
28
29
|
# File 'lib/printavo/resources/expenses.rb', line 26
def update(id, **input)
data = @graphql.mutate(UPDATE_MUTATION, variables: { id: id.to_s, input: camelize_keys(input) })
Printavo::Expense.new(data['expenseUpdate'])
end
|