sageone_sdk 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (198) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +15 -0
  5. data/Fudgefile +27 -0
  6. data/Gemfile +12 -0
  7. data/Guardfile +33 -0
  8. data/LICENSE +22 -0
  9. data/README.md +57 -0
  10. data/Rakefile +10 -0
  11. data/fudge_settings.yml +5 -0
  12. data/lib/sageone_sdk.rb +16 -0
  13. data/lib/sageone_sdk/authentication.rb +8 -0
  14. data/lib/sageone_sdk/client.rb +117 -0
  15. data/lib/sageone_sdk/client/account_types.rb +19 -0
  16. data/lib/sageone_sdk/client/bank_accounts.rb +18 -0
  17. data/lib/sageone_sdk/client/chart_of_accounts.rb +21 -0
  18. data/lib/sageone_sdk/client/contact_types.rb +20 -0
  19. data/lib/sageone_sdk/client/contacts.rb +82 -0
  20. data/lib/sageone_sdk/client/countries.rb +18 -0
  21. data/lib/sageone_sdk/client/expenditures.rb +26 -0
  22. data/lib/sageone_sdk/client/expense_methods.rb +19 -0
  23. data/lib/sageone_sdk/client/expense_types.rb +19 -0
  24. data/lib/sageone_sdk/client/financial_settings.rb +23 -0
  25. data/lib/sageone_sdk/client/income_methods.rb +19 -0
  26. data/lib/sageone_sdk/client/income_types.rb +19 -0
  27. data/lib/sageone_sdk/client/incomes.rb +51 -0
  28. data/lib/sageone_sdk/client/journals.rb +27 -0
  29. data/lib/sageone_sdk/client/ledger_accounts.rb +52 -0
  30. data/lib/sageone_sdk/client/payment_statuses.rb +18 -0
  31. data/lib/sageone_sdk/client/period_types.rb +19 -0
  32. data/lib/sageone_sdk/client/products.rb +50 -0
  33. data/lib/sageone_sdk/client/purchase_invoices.rb +61 -0
  34. data/lib/sageone_sdk/client/sales_invoices.rb +65 -0
  35. data/lib/sageone_sdk/client/services.rb +48 -0
  36. data/lib/sageone_sdk/client/tax_rates.rb +18 -0
  37. data/lib/sageone_sdk/client/transactions.rb +13 -0
  38. data/lib/sageone_sdk/configurable.rb +43 -0
  39. data/lib/sageone_sdk/default.rb +47 -0
  40. data/lib/sageone_sdk/middleware.rb +6 -0
  41. data/lib/sageone_sdk/middleware/sdata_parser.rb +29 -0
  42. data/lib/sageone_sdk/middleware/signature.rb +26 -0
  43. data/lib/sageone_sdk/sdata_error_response.rb +36 -0
  44. data/lib/sageone_sdk/sdata_response.rb +58 -0
  45. data/lib/sageone_sdk/signature.rb +115 -0
  46. data/lib/sageone_sdk/version.rb +3 -0
  47. data/sageone_sdk.gemspec +37 -0
  48. data/spec/cassettes/SageoneSdk_Client_AccountTypes/account_types/_id/returns_a_specific_account_type.json +1 -0
  49. data/spec/cassettes/SageoneSdk_Client_AccountTypes/account_types/allows_pagination.json +1 -0
  50. data/spec/cassettes/SageoneSdk_Client_AccountTypes/account_types/returns_all_account_types.json +1 -0
  51. data/spec/cassettes/SageoneSdk_Client_BankAccounts/bank_accounts/_id/returns_a_specific_bank_account.json +1 -0
  52. data/spec/cassettes/SageoneSdk_Client_BankAccounts/bank_accounts/allows_pagination.json +1 -0
  53. data/spec/cassettes/SageoneSdk_Client_BankAccounts/bank_accounts/returns_all_bank_accounts.json +1 -0
  54. data/spec/cassettes/SageoneSdk_Client_ChartOfAccounts/chart_of_accounts_structure/returns_the_chart_of_accounts_structure.json +1 -0
  55. data/spec/cassettes/SageoneSdk_Client_ChartOfAccounts/chart_of_accounts_templates/returns_the_chart_of_accounts_templates.json +1 -0
  56. data/spec/cassettes/SageoneSdk_Client_ContactTypes/contact_types/_id/returns_a_specific_contact_type.json +1 -0
  57. data/spec/cassettes/SageoneSdk_Client_ContactTypes/contact_types/allows_pagination.json +1 -0
  58. data/spec/cassettes/SageoneSdk_Client_ContactTypes/contact_types/returns_all_contact_types.json +1 -0
  59. data/spec/cassettes/SageoneSdk_Client_Contacts/contacts/_id/returns_a_specific_contact.json +1 -0
  60. data/spec/cassettes/SageoneSdk_Client_Contacts/contacts/allows_pagination.json +1 -0
  61. data/spec/cassettes/SageoneSdk_Client_Contacts/contacts/returns_all_contacts.json +1 -0
  62. data/spec/cassettes/SageoneSdk_Client_Contacts/create_contacts/creates_a_new_contact.json +1 -0
  63. data/spec/cassettes/SageoneSdk_Client_Contacts/create_contacts/on_error/responds_with_an_appropriate_error_message.json +1 -0
  64. data/spec/cassettes/SageoneSdk_Client_Contacts/delete_a_contact/deletes_the_contact.json +1 -0
  65. data/spec/cassettes/SageoneSdk_Client_Contacts/update_a_contact/updates_the_given_contact.json +1 -0
  66. data/spec/cassettes/SageoneSdk_Client_Countries/countries/_id/returns_a_specific_account_type.json +1 -0
  67. data/spec/cassettes/SageoneSdk_Client_Countries/countries/allows_pagination.json +1 -0
  68. data/spec/cassettes/SageoneSdk_Client_Countries/countries/returns_all_countries.json +1 -0
  69. data/spec/cassettes/SageoneSdk_Client_Expenditures/create_expenditures/creates_a_new_expenditure.json +1 -0
  70. data/spec/cassettes/SageoneSdk_Client_Expenditures/create_expenditures/on_error/responds_with_an_appropriate_error_message.json +1 -0
  71. data/spec/cassettes/SageoneSdk_Client_Expenditures/delete_an_expenditure/deletes_the_expenditure.json +1 -0
  72. data/spec/cassettes/SageoneSdk_Client_Expenditures/expenditures/_id/returns_a_specific_expenditure.json +1 -0
  73. data/spec/cassettes/SageoneSdk_Client_Expenditures/expenditures/allows_pagination.json +1 -0
  74. data/spec/cassettes/SageoneSdk_Client_Expenditures/expenditures/returns_all_expenditures.json +1 -0
  75. data/spec/cassettes/SageoneSdk_Client_Expenditures/update_an_expenditure/updates_the_given_expenditure.json +1 -0
  76. data/spec/cassettes/SageoneSdk_Client_ExpenseMethods/expense_methods/_id/returns_a_specific_contact_type.json +1 -0
  77. data/spec/cassettes/SageoneSdk_Client_ExpenseMethods/expense_methods/returns_all_expense_methods.json +1 -0
  78. data/spec/cassettes/SageoneSdk_Client_ExpenseMethods/income_methods/_id/returns_a_specific_contact_type.json +1 -0
  79. data/spec/cassettes/SageoneSdk_Client_ExpenseMethods/income_methods/allows_pagination.json +1 -0
  80. data/spec/cassettes/SageoneSdk_Client_ExpenseMethods/income_methods/returns_all_income_methods.json +1 -0
  81. data/spec/cassettes/SageoneSdk_Client_ExpenseTypes/expense_types/_id/returns_a_specific_contact_type.json +1 -0
  82. data/spec/cassettes/SageoneSdk_Client_ExpenseTypes/expense_types/allows_pagination.json +1 -0
  83. data/spec/cassettes/SageoneSdk_Client_ExpenseTypes/expense_types/returns_all_expense_types.json +1 -0
  84. data/spec/cassettes/SageoneSdk_Client_FinancialSettings/financial_settings/returns_the_financial_settings.json +1 -0
  85. data/spec/cassettes/SageoneSdk_Client_FinancialSettings/update_financial_settings/updates_the_financial_settings.json +1 -0
  86. data/spec/cassettes/SageoneSdk_Client_IncomeMethods/income_methods/_id/returns_a_specific_contact_type.json +1 -0
  87. data/spec/cassettes/SageoneSdk_Client_IncomeMethods/income_methods/returns_all_income_methods.json +1 -0
  88. data/spec/cassettes/SageoneSdk_Client_IncomeTypes/income_types/_id/returns_a_specific_contact_type.json +1 -0
  89. data/spec/cassettes/SageoneSdk_Client_IncomeTypes/income_types/allows_pagination.json +1 -0
  90. data/spec/cassettes/SageoneSdk_Client_IncomeTypes/income_types/returns_all_income_types.json +1 -0
  91. data/spec/cassettes/SageoneSdk_Client_Incomes/create_incomes/creates_a_new_income.json +1 -0
  92. data/spec/cassettes/SageoneSdk_Client_Incomes/create_incomes/on_error/responds_with_an_appropriate_error_message.json +1 -0
  93. data/spec/cassettes/SageoneSdk_Client_Incomes/delete_an_income/deletes_the_income.json +1 -0
  94. data/spec/cassettes/SageoneSdk_Client_Incomes/incomes/_id/returns_a_specific_income.json +1 -0
  95. data/spec/cassettes/SageoneSdk_Client_Incomes/incomes/allows_pagination.json +1 -0
  96. data/spec/cassettes/SageoneSdk_Client_Incomes/incomes/returns_all_incomes.json +1 -0
  97. data/spec/cassettes/SageoneSdk_Client_Incomes/update_an_income/updates_the_given_income.json +1 -0
  98. data/spec/cassettes/SageoneSdk_Client_Journals/journals/creates_a_journal.json +1 -0
  99. data/spec/cassettes/SageoneSdk_Client_Journals/journals/on_error/responds_with_an_appropriate_error_message.json +1 -0
  100. data/spec/cassettes/SageoneSdk_Client_LedgerAccounts/create_a_ledger_account/creates_a_new_ledger_account.json +1 -0
  101. data/spec/cassettes/SageoneSdk_Client_LedgerAccounts/create_a_ledger_account/on_error/responds_with_an_appropriate_error_message.json +1 -0
  102. data/spec/cassettes/SageoneSdk_Client_LedgerAccounts/ledger_account_balances/does_not_return_ledger_accounts_with_a_zero_balance.json +1 -0
  103. data/spec/cassettes/SageoneSdk_Client_LedgerAccounts/ledger_account_balances/returns_ledger_accounts_with_a_balance.json +1 -0
  104. data/spec/cassettes/SageoneSdk_Client_LedgerAccounts/ledger_accounts/_id/returns_a_specific_ledger_account.json +1 -0
  105. data/spec/cassettes/SageoneSdk_Client_LedgerAccounts/ledger_accounts/allows_pagination.json +1 -0
  106. data/spec/cassettes/SageoneSdk_Client_LedgerAccounts/ledger_accounts/returns_all_ledger_accounts.json +1 -0
  107. data/spec/cassettes/SageoneSdk_Client_PaymentStatuses/payment_statuses/_id/returns_a_specific_contact_type.json +1 -0
  108. data/spec/cassettes/SageoneSdk_Client_PaymentStatuses/payment_statuses/allows_pagination.json +1 -0
  109. data/spec/cassettes/SageoneSdk_Client_PaymentStatuses/payment_statuses/returns_all_payment_statuses.json +1 -0
  110. data/spec/cassettes/SageoneSdk_Client_PeriodTypes/period_types/_id/returns_a_specific_contact_type.json +1 -0
  111. data/spec/cassettes/SageoneSdk_Client_PeriodTypes/period_types/allows_pagination.json +1 -0
  112. data/spec/cassettes/SageoneSdk_Client_PeriodTypes/period_types/returns_all_period_types.json +1 -0
  113. data/spec/cassettes/SageoneSdk_Client_Products/create_products/creates_a_new_product.json +1 -0
  114. data/spec/cassettes/SageoneSdk_Client_Products/create_products/on_error/responds_with_an_appropriate_error_message.json +1 -0
  115. data/spec/cassettes/SageoneSdk_Client_Products/delete_a_product/deletes_the_product.json +1 -0
  116. data/spec/cassettes/SageoneSdk_Client_Products/products/_id/returns_a_specific_product.json +1 -0
  117. data/spec/cassettes/SageoneSdk_Client_Products/products/allows_pagination.json +1 -0
  118. data/spec/cassettes/SageoneSdk_Client_Products/products/returns_all_products.json +1 -0
  119. data/spec/cassettes/SageoneSdk_Client_Products/update_a_product/updates_the_given_product.json +1 -0
  120. data/spec/cassettes/SageoneSdk_Client_PurchaseInvoices/create_purchase_invoices/creates_a_new_purchase_invoice.json +1 -0
  121. data/spec/cassettes/SageoneSdk_Client_PurchaseInvoices/create_purchase_invoices/on_error/responds_with_an_appropriate_error_message.json +1 -0
  122. data/spec/cassettes/SageoneSdk_Client_PurchaseInvoices/delete_a_purchase_invoice/deletes_the_purchase_invoice.json +1 -0
  123. data/spec/cassettes/SageoneSdk_Client_PurchaseInvoices/purchase_invoices/_id/returns_a_specific_purchase_invoice.json +1 -0
  124. data/spec/cassettes/SageoneSdk_Client_PurchaseInvoices/purchase_invoices/allows_pagination.json +1 -0
  125. data/spec/cassettes/SageoneSdk_Client_PurchaseInvoices/purchase_invoices/returns_all_purchase_invoices.json +1 -0
  126. data/spec/cassettes/SageoneSdk_Client_PurchaseInvoices/update_a_purchase_invoice/updates_the_given_purchase_invoice.json +1 -0
  127. data/spec/cassettes/SageoneSdk_Client_SalesInvoices/create_sales_invoices/creates_a_new_sales_invoice.json +1 -0
  128. data/spec/cassettes/SageoneSdk_Client_SalesInvoices/create_sales_invoices/on_error/responds_with_an_appropriate_error_message.json +1 -0
  129. data/spec/cassettes/SageoneSdk_Client_SalesInvoices/delete_a_sales_invoice/deletes_the_sales_invoice.json +1 -0
  130. data/spec/cassettes/SageoneSdk_Client_SalesInvoices/sales_invoices/_id/returns_a_specific_sales_invoice.json +1 -0
  131. data/spec/cassettes/SageoneSdk_Client_SalesInvoices/sales_invoices/allows_pagination.json +1 -0
  132. data/spec/cassettes/SageoneSdk_Client_SalesInvoices/sales_invoices/returns_all_sales_invoices.json +1 -0
  133. data/spec/cassettes/SageoneSdk_Client_SalesInvoices/update_a_sales_invoice/updates_the_given_sales_invoice.json +1 -0
  134. data/spec/cassettes/SageoneSdk_Client_Services/create_services/creates_a_new_service.json +1 -0
  135. data/spec/cassettes/SageoneSdk_Client_Services/create_services/on_error/responds_with_an_appropriate_error_message.json +1 -0
  136. data/spec/cassettes/SageoneSdk_Client_Services/delete_a_service/deletes_the_service.json +1 -0
  137. data/spec/cassettes/SageoneSdk_Client_Services/services/_id/returns_a_specific_service.json +1 -0
  138. data/spec/cassettes/SageoneSdk_Client_Services/services/allows_pagination.json +1 -0
  139. data/spec/cassettes/SageoneSdk_Client_Services/services/returns_all_services.json +1 -0
  140. data/spec/cassettes/SageoneSdk_Client_Services/update_a_service/updates_the_given_service.json +1 -0
  141. data/spec/cassettes/SageoneSdk_Client_TaxRates/tax_rates/_id/returns_a_specific_contact_type.json +1 -0
  142. data/spec/cassettes/SageoneSdk_Client_TaxRates/tax_rates/allows_pagination.json +1 -0
  143. data/spec/cassettes/SageoneSdk_Client_TaxRates/tax_rates/returns_all_tax_rates.json +1 -0
  144. data/spec/cassettes/SageoneSdk_Client_Transactions/transactions/returns_all_transactions.json +1 -0
  145. data/spec/cassettes/account_types_index.json +1 -0
  146. data/spec/cassettes/bank_accounts_index.json +1 -0
  147. data/spec/cassettes/contact_types_index.json +1 -0
  148. data/spec/cassettes/contacts_index.json +1 -0
  149. data/spec/cassettes/countries_index.json +1 -0
  150. data/spec/cassettes/customer_create.json +1 -0
  151. data/spec/cassettes/customers_index.json +1 -0
  152. data/spec/cassettes/expenditure_create.json +1 -0
  153. data/spec/cassettes/expenditures_index.json +1 -0
  154. data/spec/cassettes/expense_methods_index.json +1 -0
  155. data/spec/cassettes/expense_types_index.json +1 -0
  156. data/spec/cassettes/income_create.json +1 -0
  157. data/spec/cassettes/income_methods_index.json +1 -0
  158. data/spec/cassettes/income_types_index.json +1 -0
  159. data/spec/cassettes/incomes_index.json +1 -0
  160. data/spec/cassettes/ledger_accounts_index.json +1 -0
  161. data/spec/cassettes/payment_statuses_index.json +1 -0
  162. data/spec/cassettes/period_types_index.json +1 -0
  163. data/spec/cassettes/product_create.json +1 -0
  164. data/spec/cassettes/products_index.json +1 -0
  165. data/spec/cassettes/purchase_invoice_create.json +1 -0
  166. data/spec/cassettes/purchase_invoices_index.json +1 -0
  167. data/spec/cassettes/sales_invoice_create.json +1 -0
  168. data/spec/cassettes/sales_invoices_index.json +1 -0
  169. data/spec/cassettes/service_create.json +1 -0
  170. data/spec/cassettes/services_index.json +1 -0
  171. data/spec/cassettes/suppliers_index.json +1 -0
  172. data/spec/cassettes/tax_rates_index.json +1 -0
  173. data/spec/sageone_sdk/client/account_types_spec.rb +29 -0
  174. data/spec/sageone_sdk/client/bank_accounts_spec.rb +34 -0
  175. data/spec/sageone_sdk/client/chart_of_accounts_spec.rb +23 -0
  176. data/spec/sageone_sdk/client/contact_types_spec.rb +29 -0
  177. data/spec/sageone_sdk/client/contacts_spec.rb +75 -0
  178. data/spec/sageone_sdk/client/countries_spec.rb +29 -0
  179. data/spec/sageone_sdk/client/expenditures_spec.rb +113 -0
  180. data/spec/sageone_sdk/client/expense_methods_spec.rb +29 -0
  181. data/spec/sageone_sdk/client/expense_types_spec.rb +29 -0
  182. data/spec/sageone_sdk/client/financial_settings_spec.rb +23 -0
  183. data/spec/sageone_sdk/client/income_methods_spec.rb +29 -0
  184. data/spec/sageone_sdk/client/income_types_spec.rb +29 -0
  185. data/spec/sageone_sdk/client/incomes_spec.rb +114 -0
  186. data/spec/sageone_sdk/client/journals_spec.rb +39 -0
  187. data/spec/sageone_sdk/client/ledger_accounts_spec.rb +65 -0
  188. data/spec/sageone_sdk/client/payment_statuses_spec.rb +29 -0
  189. data/spec/sageone_sdk/client/period_types_spec.rb +29 -0
  190. data/spec/sageone_sdk/client/products_spec.rb +75 -0
  191. data/spec/sageone_sdk/client/purchase_invoices_spec.rb +124 -0
  192. data/spec/sageone_sdk/client/sales_invoices_spec.rb +126 -0
  193. data/spec/sageone_sdk/client/services_spec.rb +75 -0
  194. data/spec/sageone_sdk/client/tax_rates_spec.rb +29 -0
  195. data/spec/sageone_sdk/client/transactions_spec.rb +16 -0
  196. data/spec/sageone_sdk_spec.rb +19 -0
  197. data/spec/spec_helper.rb +40 -0
  198. metadata +601 -0
@@ -0,0 +1,124 @@
1
+ require 'spec_helper'
2
+
3
+ describe SageoneSdk::Client::PurchaseInvoices do
4
+ before :each do
5
+ SageoneSdk.reset!
6
+ end
7
+
8
+ let(:client) { SageoneSdk::Client.new({access_token: "foo", signing_secret: "bar" }) }
9
+
10
+ let(:contact) do
11
+ VCR.use_cassette('suppliers_index') do
12
+ client.suppliers.first
13
+ end
14
+ end
15
+
16
+ let(:tax_rate) do
17
+ VCR.use_cassette('tax_rates_index') do
18
+ client.tax_rates.find_by(:name => "Standard")
19
+ end
20
+ end
21
+
22
+ let(:ledger_account) do
23
+ VCR.use_cassette('ledger_accounts_index') do
24
+ client.ledger_accounts.find_by(:name => "Energy")
25
+ end
26
+ end
27
+
28
+ let(:line_items) do
29
+ [
30
+ {
31
+ :description => "A1",
32
+ :quantity => 1,
33
+ :unit_price => 10,
34
+ :tax_code_id => tax_rate.id,
35
+ :ledger_account_id => ledger_account.id
36
+ },
37
+ {
38
+ :description => "B1",
39
+ :quantity => 5,
40
+ :unit_price => 9.99,
41
+ :tax_code_id => tax_rate.id,
42
+ :ledger_account_id => ledger_account.id
43
+ }
44
+ ]
45
+ end
46
+
47
+ let(:data) do
48
+ {
49
+ :reference => "Foo",
50
+ :date => Date.today.strftime("%d/%m/%Y"),
51
+ :due_date => 15.days.from_now.strftime("%d/%m/%Y"),
52
+ :contact_id => contact.id,
53
+ :contact_name => contact.name,
54
+ :line_items => line_items
55
+ }
56
+ end
57
+
58
+ describe "purchase_invoices", :vcr do
59
+ it "returns all purchase invoices" do
60
+ purchase_invoices = client.purchase_invoices
61
+ expect(purchase_invoices.first.reference).not_to be_nil
62
+ end
63
+
64
+ it "allows pagination" do
65
+ purchase_invoices = client.purchase_invoices({ "$itemsPerPage" => 2 })
66
+ expect(purchase_invoices.count).to eq(2)
67
+ end
68
+ end
69
+
70
+ describe "purchase_invoices/:id", :vcr do
71
+ before :each do
72
+ VCR.use_cassette('purchase_invoices_index') do
73
+ @purchase_invoice_id = client.purchase_invoices.first.id
74
+ end
75
+ end
76
+
77
+ it "returns a specific purchase invoice" do
78
+ purchase_invoice = client.purchase_invoice(@purchase_invoice_id)
79
+ expect(purchase_invoice.reference).to eq("Foo")
80
+ end
81
+ end
82
+
83
+ describe "create purchase_invoices", :vcr do
84
+ it "creates a new purchase invoice" do
85
+ purchase_invoice = client.create_purchase_invoice(data)
86
+ expect(purchase_invoice.reference).to eq("Foo")
87
+ end
88
+
89
+ context "on error" do
90
+ it "responds with an appropriate error message" do
91
+ purchase_invoice = client.create_purchase_invoice({})
92
+ expect(purchase_invoice.error?).to eq(true)
93
+ expect(purchase_invoice.full_messages).to include("Date: invalid date")
94
+ end
95
+ end
96
+ end
97
+
98
+ describe "update a purchase invoice", :vcr do
99
+ before :each do
100
+ VCR.use_cassette('purchase_invoices_index') do
101
+ @purchase_invoice_id = client.purchase_invoices.first.id
102
+ end
103
+ end
104
+
105
+ it "updates the given purchase invoice" do
106
+ purchase_invoice = client.update_purchase_invoice(@purchase_invoice_id, { :reference => "Bar" })
107
+ expect(purchase_invoice.reference).to eq("Bar")
108
+ end
109
+ end
110
+
111
+ describe "delete a purchase invoice", :vcr do
112
+ before :each do
113
+ VCR.use_cassette('purchase_invoice_create') do
114
+ s = client.create_purchase_invoice(data)
115
+ @purchase_invoice_id = s.id
116
+ end
117
+ end
118
+
119
+ it "deletes the purchase invoice" do
120
+ purchase_invoice = client.delete_purchase_invoice(@purchase_invoice_id)
121
+ expect(purchase_invoice).to_not be_nil
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,126 @@
1
+ require 'spec_helper'
2
+
3
+ describe SageoneSdk::Client::SalesInvoices do
4
+ before :each do
5
+ SageoneSdk.reset!
6
+ end
7
+
8
+ let(:client) { SageoneSdk::Client.new({access_token: "foo", signing_secret: "bar" }) }
9
+
10
+ let(:contact) do
11
+ VCR.use_cassette('customers_index') do
12
+ client.customers.first
13
+ end
14
+ end
15
+
16
+ let(:tax_rate) do
17
+ VCR.use_cassette('tax_rates_index') do
18
+ client.tax_rates.find_by(:name => "Standard")
19
+ end
20
+ end
21
+
22
+ let(:ledger_account) do
23
+ VCR.use_cassette('ledger_accounts_index') do
24
+ client.ledger_accounts.find_by(:name => "Sales")
25
+ end
26
+ end
27
+
28
+ let(:line_items) do
29
+ [
30
+ {
31
+ :description => "A1",
32
+ :quantity => 1,
33
+ :unit_price => 10,
34
+ :tax_code_id => tax_rate.id,
35
+ :ledger_account_id => ledger_account.id
36
+ },
37
+ {
38
+ :description => "B1",
39
+ :quantity => 5,
40
+ :unit_price => 9.99,
41
+ :tax_code_id => tax_rate.id,
42
+ :ledger_account_id => ledger_account.id
43
+ }
44
+ ]
45
+ end
46
+
47
+ let(:data) do
48
+ {
49
+ :reference => "Foo",
50
+ :date => Date.today.strftime("%d/%m/%Y"),
51
+ :due_date => 15.days.from_now.strftime("%d/%m/%Y"),
52
+ :contact_id => contact.id,
53
+ :contact_name => contact.name,
54
+ :main_address => "Main Address",
55
+ :carriage_tax_code_id => tax_rate.id,
56
+ :line_items => line_items
57
+ }
58
+ end
59
+
60
+ describe "sales_invoices", :vcr do
61
+ it "returns all sales invoices" do
62
+ sales_invoices = client.sales_invoices
63
+ expect(sales_invoices.first.invoice_number).not_to be_nil
64
+ end
65
+
66
+ it "allows pagination" do
67
+ sales_invoices = client.sales_invoices({ "$itemsPerPage" => 2 })
68
+ expect(sales_invoices.count).to eq(2)
69
+ end
70
+ end
71
+
72
+ describe "sales_invoices/:id", :vcr do
73
+ before :each do
74
+ VCR.use_cassette('sales_invoices_index') do
75
+ @sales_invoice_id = client.sales_invoices.last.id
76
+ end
77
+ end
78
+
79
+ it "returns a specific sales invoice" do
80
+ sales_invoice = client.sales_invoice(@sales_invoice_id)
81
+ expect(sales_invoice.reference).to eq("Ref12345")
82
+ end
83
+ end
84
+
85
+ describe "create sales_invoices", :vcr do
86
+ it "creates a new sales invoice" do
87
+ sales_invoice = client.create_sales_invoice(data)
88
+ expect(sales_invoice.reference).to eq("Foo")
89
+ end
90
+
91
+ context "on error" do
92
+ it "responds with an appropriate error message" do
93
+ sales_invoice = client.create_sales_invoice({})
94
+ expect(sales_invoice.error?).to eq(true)
95
+ expect(sales_invoice.full_messages).to include("Date: invalid date")
96
+ end
97
+ end
98
+ end
99
+
100
+ describe "update a sales invoice", :vcr do
101
+ before :each do
102
+ VCR.use_cassette('sales_invoices_index') do
103
+ @sales_invoice_id = client.sales_invoices.first.id
104
+ end
105
+ end
106
+
107
+ it "updates the given sales invoice" do
108
+ sales_invoice = client.update_sales_invoice(@sales_invoice_id, { :reference => "Bar" })
109
+ expect(sales_invoice.reference).to eq("Bar")
110
+ end
111
+ end
112
+
113
+ describe "delete a sales invoice", :vcr do
114
+ before :each do
115
+ VCR.use_cassette('sales_invoice_create') do
116
+ s = client.create_sales_invoice(data)
117
+ @sales_invoice_id = s.id
118
+ end
119
+ end
120
+
121
+ it "deletes the sales invoice" do
122
+ sales_invoice = client.delete_sales_invoice(@sales_invoice_id)
123
+ expect(sales_invoice).to_not be_nil
124
+ end
125
+ end
126
+ end
@@ -0,0 +1,75 @@
1
+ require 'spec_helper'
2
+
3
+ describe SageoneSdk::Client::Services do
4
+ before :each do
5
+ SageoneSdk.reset!
6
+ end
7
+
8
+ let(:client) { SageoneSdk::Client.new({access_token: "foo", signing_secret: "bar" }) }
9
+
10
+ describe "services", :vcr do
11
+ it "returns all services" do
12
+ services = client.services
13
+ expect(services.first.description).not_to be_nil
14
+ end
15
+
16
+ it "allows pagination" do
17
+ services = client.services({ "$itemsPerPage" => 2 })
18
+ expect(services.count).to eq(2)
19
+ end
20
+ end
21
+
22
+ describe "services/:id", :vcr do
23
+ before :each do
24
+ VCR.use_cassette('services_index') do
25
+ @service_id = client.services.first.id
26
+ end
27
+ end
28
+
29
+ it "returns a specific service" do
30
+ service = client.service(@service_id)
31
+ expect(service.description).to eq("Foo")
32
+ end
33
+ end
34
+
35
+ describe "create services", :vcr do
36
+ it "creates a new service" do
37
+ service = client.create_service(:description => "Foo")
38
+ expect(service.description).to eq("Foo")
39
+ end
40
+
41
+ context "on error" do
42
+ it "responds with an appropriate error message" do
43
+ service = client.create_service({})
44
+ expect(service.error?).to eq(true)
45
+ expect(service.full_messages).to include("Description: blank")
46
+ end
47
+ end
48
+ end
49
+
50
+ describe "update a service", :vcr do
51
+ before :each do
52
+ VCR.use_cassette('services_index') do
53
+ @service_id = client.services.first.id
54
+ end
55
+ end
56
+
57
+ it "updates the given service" do
58
+ service = client.update_service(@service_id, { :description => "Bar" })
59
+ expect(service.description).to eq("Bar")
60
+ end
61
+ end
62
+
63
+ describe "delete a service", :vcr do
64
+ before :each do
65
+ VCR.use_cassette('service_create') do
66
+ @service_id = client.create_service(:description => "Foo").id
67
+ end
68
+ end
69
+
70
+ it "deletes the service" do
71
+ service = client.delete_service(@service_id)
72
+ expect(service).to_not be_nil
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+
3
+ describe SageoneSdk::Client::TaxRates do
4
+ before :each do
5
+ SageoneSdk.reset!
6
+ end
7
+
8
+ let(:client) { SageoneSdk::Client.new({access_token: "foo", signing_secret: "bar" }) }
9
+
10
+ describe "tax_rates", :vcr do
11
+ it "returns all tax_rates" do
12
+ tax_rates = client.tax_rates
13
+ expect(tax_rates.first.name).not_to be_nil
14
+ end
15
+ end
16
+
17
+ describe "tax_rates/:id", :vcr do
18
+ before :each do
19
+ VCR.use_cassette('tax_rates_index') do
20
+ @tax_rate_id = client.tax_rates.first.id
21
+ end
22
+ end
23
+
24
+ it "returns a specific contact type" do
25
+ tax_rate = client.tax_rate(@tax_rate_id)
26
+ expect(tax_rate.name).to eq("Standard")
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ describe SageoneSdk::Client::Transactions do
4
+ before :each do
5
+ SageoneSdk.reset!
6
+ end
7
+
8
+ let(:client) { SageoneSdk::Client.new({access_token: "foo", signing_secret: "bar"}) }
9
+
10
+ describe "transactions", :vcr do
11
+ it "returns all transactions" do
12
+ transactions = client.transactions
13
+ expect(transactions.first.total).not_to be_nil
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ describe SageoneSdk do
4
+ describe "configurable" do
5
+ it "can be configured" do
6
+ SageoneSdk.configure do |config|
7
+ config.access_token = "foo"
8
+ end
9
+
10
+ expect(SageoneSdk.access_token).to eq("foo")
11
+ end
12
+ end
13
+
14
+ describe "client" do
15
+ it "returns a new client" do
16
+ expect(SageoneSdk.client).to be_kind_of(SageoneSdk::Client)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,40 @@
1
+ require "sageone_sdk"
2
+ require 'webmock/rspec'
3
+ require 'simplecov'
4
+ require 'vcr'
5
+
6
+ SimpleCov.start
7
+
8
+ VCR.configure do |c|
9
+ c.configure_rspec_metadata!
10
+
11
+ c.cassette_library_dir = 'spec/cassettes'
12
+ c.hook_into :webmock
13
+
14
+ c.default_cassette_options = {
15
+ :serialize_with => :json
16
+ }
17
+
18
+ c.filter_sensitive_data("<ACCESS_TOKEN>") do |interaction|
19
+ "dummy_access_token"
20
+ end
21
+
22
+ c.filter_sensitive_data("<SIGNING_SECRET>") do |interaction|
23
+ "dummy_signing_secret"
24
+ end
25
+ end
26
+
27
+ SageoneSdk.configure do |config|
28
+ config.access_token = "dummy_access_token"
29
+ config.signing_secret = "dummy_signing_secret"
30
+ end
31
+
32
+ RSpec.configure do |config|
33
+ config.expect_with :rspec do |expectations|
34
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
35
+ end
36
+
37
+ config.mock_with :rspec do |mocks|
38
+ mocks.verify_partial_doubles = true
39
+ end
40
+ end
metadata ADDED
@@ -0,0 +1,601 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sageone_sdk
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Sage UK Ltd
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-01-29 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sawyer
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.5.3
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.5.3
27
+ - !ruby/object:Gem::Dependency
28
+ name: faraday_middleware
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.9.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.9.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: hashie
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: yard
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: activesupport
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 4.0.4
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 4.0.4
83
+ - !ruby/object:Gem::Dependency
84
+ name: bundler
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.7'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.7'
97
+ - !ruby/object:Gem::Dependency
98
+ name: cane
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: flay
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: flog
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: fudge
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: guard-rspec
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: rake
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: rspec
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: simplecov
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: yard
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ description: Provides Ruby methods for accessing the Sage One API endpoints.
224
+ email:
225
+ - support@sageone.com
226
+ executables: []
227
+ extensions: []
228
+ extra_rdoc_files: []
229
+ files:
230
+ - ".gitignore"
231
+ - ".rspec"
232
+ - ".travis.yml"
233
+ - Fudgefile
234
+ - Gemfile
235
+ - Guardfile
236
+ - LICENSE
237
+ - README.md
238
+ - Rakefile
239
+ - fudge_settings.yml
240
+ - lib/sageone_sdk.rb
241
+ - lib/sageone_sdk/authentication.rb
242
+ - lib/sageone_sdk/client.rb
243
+ - lib/sageone_sdk/client/account_types.rb
244
+ - lib/sageone_sdk/client/bank_accounts.rb
245
+ - lib/sageone_sdk/client/chart_of_accounts.rb
246
+ - lib/sageone_sdk/client/contact_types.rb
247
+ - lib/sageone_sdk/client/contacts.rb
248
+ - lib/sageone_sdk/client/countries.rb
249
+ - lib/sageone_sdk/client/expenditures.rb
250
+ - lib/sageone_sdk/client/expense_methods.rb
251
+ - lib/sageone_sdk/client/expense_types.rb
252
+ - lib/sageone_sdk/client/financial_settings.rb
253
+ - lib/sageone_sdk/client/income_methods.rb
254
+ - lib/sageone_sdk/client/income_types.rb
255
+ - lib/sageone_sdk/client/incomes.rb
256
+ - lib/sageone_sdk/client/journals.rb
257
+ - lib/sageone_sdk/client/ledger_accounts.rb
258
+ - lib/sageone_sdk/client/payment_statuses.rb
259
+ - lib/sageone_sdk/client/period_types.rb
260
+ - lib/sageone_sdk/client/products.rb
261
+ - lib/sageone_sdk/client/purchase_invoices.rb
262
+ - lib/sageone_sdk/client/sales_invoices.rb
263
+ - lib/sageone_sdk/client/services.rb
264
+ - lib/sageone_sdk/client/tax_rates.rb
265
+ - lib/sageone_sdk/client/transactions.rb
266
+ - lib/sageone_sdk/configurable.rb
267
+ - lib/sageone_sdk/default.rb
268
+ - lib/sageone_sdk/middleware.rb
269
+ - lib/sageone_sdk/middleware/sdata_parser.rb
270
+ - lib/sageone_sdk/middleware/signature.rb
271
+ - lib/sageone_sdk/sdata_error_response.rb
272
+ - lib/sageone_sdk/sdata_response.rb
273
+ - lib/sageone_sdk/signature.rb
274
+ - lib/sageone_sdk/version.rb
275
+ - sageone_sdk.gemspec
276
+ - spec/cassettes/SageoneSdk_Client_AccountTypes/account_types/_id/returns_a_specific_account_type.json
277
+ - spec/cassettes/SageoneSdk_Client_AccountTypes/account_types/allows_pagination.json
278
+ - spec/cassettes/SageoneSdk_Client_AccountTypes/account_types/returns_all_account_types.json
279
+ - spec/cassettes/SageoneSdk_Client_BankAccounts/bank_accounts/_id/returns_a_specific_bank_account.json
280
+ - spec/cassettes/SageoneSdk_Client_BankAccounts/bank_accounts/allows_pagination.json
281
+ - spec/cassettes/SageoneSdk_Client_BankAccounts/bank_accounts/returns_all_bank_accounts.json
282
+ - spec/cassettes/SageoneSdk_Client_ChartOfAccounts/chart_of_accounts_structure/returns_the_chart_of_accounts_structure.json
283
+ - spec/cassettes/SageoneSdk_Client_ChartOfAccounts/chart_of_accounts_templates/returns_the_chart_of_accounts_templates.json
284
+ - spec/cassettes/SageoneSdk_Client_ContactTypes/contact_types/_id/returns_a_specific_contact_type.json
285
+ - spec/cassettes/SageoneSdk_Client_ContactTypes/contact_types/allows_pagination.json
286
+ - spec/cassettes/SageoneSdk_Client_ContactTypes/contact_types/returns_all_contact_types.json
287
+ - spec/cassettes/SageoneSdk_Client_Contacts/contacts/_id/returns_a_specific_contact.json
288
+ - spec/cassettes/SageoneSdk_Client_Contacts/contacts/allows_pagination.json
289
+ - spec/cassettes/SageoneSdk_Client_Contacts/contacts/returns_all_contacts.json
290
+ - spec/cassettes/SageoneSdk_Client_Contacts/create_contacts/creates_a_new_contact.json
291
+ - spec/cassettes/SageoneSdk_Client_Contacts/create_contacts/on_error/responds_with_an_appropriate_error_message.json
292
+ - spec/cassettes/SageoneSdk_Client_Contacts/delete_a_contact/deletes_the_contact.json
293
+ - spec/cassettes/SageoneSdk_Client_Contacts/update_a_contact/updates_the_given_contact.json
294
+ - spec/cassettes/SageoneSdk_Client_Countries/countries/_id/returns_a_specific_account_type.json
295
+ - spec/cassettes/SageoneSdk_Client_Countries/countries/allows_pagination.json
296
+ - spec/cassettes/SageoneSdk_Client_Countries/countries/returns_all_countries.json
297
+ - spec/cassettes/SageoneSdk_Client_Expenditures/create_expenditures/creates_a_new_expenditure.json
298
+ - spec/cassettes/SageoneSdk_Client_Expenditures/create_expenditures/on_error/responds_with_an_appropriate_error_message.json
299
+ - spec/cassettes/SageoneSdk_Client_Expenditures/delete_an_expenditure/deletes_the_expenditure.json
300
+ - spec/cassettes/SageoneSdk_Client_Expenditures/expenditures/_id/returns_a_specific_expenditure.json
301
+ - spec/cassettes/SageoneSdk_Client_Expenditures/expenditures/allows_pagination.json
302
+ - spec/cassettes/SageoneSdk_Client_Expenditures/expenditures/returns_all_expenditures.json
303
+ - spec/cassettes/SageoneSdk_Client_Expenditures/update_an_expenditure/updates_the_given_expenditure.json
304
+ - spec/cassettes/SageoneSdk_Client_ExpenseMethods/expense_methods/_id/returns_a_specific_contact_type.json
305
+ - spec/cassettes/SageoneSdk_Client_ExpenseMethods/expense_methods/returns_all_expense_methods.json
306
+ - spec/cassettes/SageoneSdk_Client_ExpenseMethods/income_methods/_id/returns_a_specific_contact_type.json
307
+ - spec/cassettes/SageoneSdk_Client_ExpenseMethods/income_methods/allows_pagination.json
308
+ - spec/cassettes/SageoneSdk_Client_ExpenseMethods/income_methods/returns_all_income_methods.json
309
+ - spec/cassettes/SageoneSdk_Client_ExpenseTypes/expense_types/_id/returns_a_specific_contact_type.json
310
+ - spec/cassettes/SageoneSdk_Client_ExpenseTypes/expense_types/allows_pagination.json
311
+ - spec/cassettes/SageoneSdk_Client_ExpenseTypes/expense_types/returns_all_expense_types.json
312
+ - spec/cassettes/SageoneSdk_Client_FinancialSettings/financial_settings/returns_the_financial_settings.json
313
+ - spec/cassettes/SageoneSdk_Client_FinancialSettings/update_financial_settings/updates_the_financial_settings.json
314
+ - spec/cassettes/SageoneSdk_Client_IncomeMethods/income_methods/_id/returns_a_specific_contact_type.json
315
+ - spec/cassettes/SageoneSdk_Client_IncomeMethods/income_methods/returns_all_income_methods.json
316
+ - spec/cassettes/SageoneSdk_Client_IncomeTypes/income_types/_id/returns_a_specific_contact_type.json
317
+ - spec/cassettes/SageoneSdk_Client_IncomeTypes/income_types/allows_pagination.json
318
+ - spec/cassettes/SageoneSdk_Client_IncomeTypes/income_types/returns_all_income_types.json
319
+ - spec/cassettes/SageoneSdk_Client_Incomes/create_incomes/creates_a_new_income.json
320
+ - spec/cassettes/SageoneSdk_Client_Incomes/create_incomes/on_error/responds_with_an_appropriate_error_message.json
321
+ - spec/cassettes/SageoneSdk_Client_Incomes/delete_an_income/deletes_the_income.json
322
+ - spec/cassettes/SageoneSdk_Client_Incomes/incomes/_id/returns_a_specific_income.json
323
+ - spec/cassettes/SageoneSdk_Client_Incomes/incomes/allows_pagination.json
324
+ - spec/cassettes/SageoneSdk_Client_Incomes/incomes/returns_all_incomes.json
325
+ - spec/cassettes/SageoneSdk_Client_Incomes/update_an_income/updates_the_given_income.json
326
+ - spec/cassettes/SageoneSdk_Client_Journals/journals/creates_a_journal.json
327
+ - spec/cassettes/SageoneSdk_Client_Journals/journals/on_error/responds_with_an_appropriate_error_message.json
328
+ - spec/cassettes/SageoneSdk_Client_LedgerAccounts/create_a_ledger_account/creates_a_new_ledger_account.json
329
+ - spec/cassettes/SageoneSdk_Client_LedgerAccounts/create_a_ledger_account/on_error/responds_with_an_appropriate_error_message.json
330
+ - spec/cassettes/SageoneSdk_Client_LedgerAccounts/ledger_account_balances/does_not_return_ledger_accounts_with_a_zero_balance.json
331
+ - spec/cassettes/SageoneSdk_Client_LedgerAccounts/ledger_account_balances/returns_ledger_accounts_with_a_balance.json
332
+ - spec/cassettes/SageoneSdk_Client_LedgerAccounts/ledger_accounts/_id/returns_a_specific_ledger_account.json
333
+ - spec/cassettes/SageoneSdk_Client_LedgerAccounts/ledger_accounts/allows_pagination.json
334
+ - spec/cassettes/SageoneSdk_Client_LedgerAccounts/ledger_accounts/returns_all_ledger_accounts.json
335
+ - spec/cassettes/SageoneSdk_Client_PaymentStatuses/payment_statuses/_id/returns_a_specific_contact_type.json
336
+ - spec/cassettes/SageoneSdk_Client_PaymentStatuses/payment_statuses/allows_pagination.json
337
+ - spec/cassettes/SageoneSdk_Client_PaymentStatuses/payment_statuses/returns_all_payment_statuses.json
338
+ - spec/cassettes/SageoneSdk_Client_PeriodTypes/period_types/_id/returns_a_specific_contact_type.json
339
+ - spec/cassettes/SageoneSdk_Client_PeriodTypes/period_types/allows_pagination.json
340
+ - spec/cassettes/SageoneSdk_Client_PeriodTypes/period_types/returns_all_period_types.json
341
+ - spec/cassettes/SageoneSdk_Client_Products/create_products/creates_a_new_product.json
342
+ - spec/cassettes/SageoneSdk_Client_Products/create_products/on_error/responds_with_an_appropriate_error_message.json
343
+ - spec/cassettes/SageoneSdk_Client_Products/delete_a_product/deletes_the_product.json
344
+ - spec/cassettes/SageoneSdk_Client_Products/products/_id/returns_a_specific_product.json
345
+ - spec/cassettes/SageoneSdk_Client_Products/products/allows_pagination.json
346
+ - spec/cassettes/SageoneSdk_Client_Products/products/returns_all_products.json
347
+ - spec/cassettes/SageoneSdk_Client_Products/update_a_product/updates_the_given_product.json
348
+ - spec/cassettes/SageoneSdk_Client_PurchaseInvoices/create_purchase_invoices/creates_a_new_purchase_invoice.json
349
+ - spec/cassettes/SageoneSdk_Client_PurchaseInvoices/create_purchase_invoices/on_error/responds_with_an_appropriate_error_message.json
350
+ - spec/cassettes/SageoneSdk_Client_PurchaseInvoices/delete_a_purchase_invoice/deletes_the_purchase_invoice.json
351
+ - spec/cassettes/SageoneSdk_Client_PurchaseInvoices/purchase_invoices/_id/returns_a_specific_purchase_invoice.json
352
+ - spec/cassettes/SageoneSdk_Client_PurchaseInvoices/purchase_invoices/allows_pagination.json
353
+ - spec/cassettes/SageoneSdk_Client_PurchaseInvoices/purchase_invoices/returns_all_purchase_invoices.json
354
+ - spec/cassettes/SageoneSdk_Client_PurchaseInvoices/update_a_purchase_invoice/updates_the_given_purchase_invoice.json
355
+ - spec/cassettes/SageoneSdk_Client_SalesInvoices/create_sales_invoices/creates_a_new_sales_invoice.json
356
+ - spec/cassettes/SageoneSdk_Client_SalesInvoices/create_sales_invoices/on_error/responds_with_an_appropriate_error_message.json
357
+ - spec/cassettes/SageoneSdk_Client_SalesInvoices/delete_a_sales_invoice/deletes_the_sales_invoice.json
358
+ - spec/cassettes/SageoneSdk_Client_SalesInvoices/sales_invoices/_id/returns_a_specific_sales_invoice.json
359
+ - spec/cassettes/SageoneSdk_Client_SalesInvoices/sales_invoices/allows_pagination.json
360
+ - spec/cassettes/SageoneSdk_Client_SalesInvoices/sales_invoices/returns_all_sales_invoices.json
361
+ - spec/cassettes/SageoneSdk_Client_SalesInvoices/update_a_sales_invoice/updates_the_given_sales_invoice.json
362
+ - spec/cassettes/SageoneSdk_Client_Services/create_services/creates_a_new_service.json
363
+ - spec/cassettes/SageoneSdk_Client_Services/create_services/on_error/responds_with_an_appropriate_error_message.json
364
+ - spec/cassettes/SageoneSdk_Client_Services/delete_a_service/deletes_the_service.json
365
+ - spec/cassettes/SageoneSdk_Client_Services/services/_id/returns_a_specific_service.json
366
+ - spec/cassettes/SageoneSdk_Client_Services/services/allows_pagination.json
367
+ - spec/cassettes/SageoneSdk_Client_Services/services/returns_all_services.json
368
+ - spec/cassettes/SageoneSdk_Client_Services/update_a_service/updates_the_given_service.json
369
+ - spec/cassettes/SageoneSdk_Client_TaxRates/tax_rates/_id/returns_a_specific_contact_type.json
370
+ - spec/cassettes/SageoneSdk_Client_TaxRates/tax_rates/allows_pagination.json
371
+ - spec/cassettes/SageoneSdk_Client_TaxRates/tax_rates/returns_all_tax_rates.json
372
+ - spec/cassettes/SageoneSdk_Client_Transactions/transactions/returns_all_transactions.json
373
+ - spec/cassettes/account_types_index.json
374
+ - spec/cassettes/bank_accounts_index.json
375
+ - spec/cassettes/contact_types_index.json
376
+ - spec/cassettes/contacts_index.json
377
+ - spec/cassettes/countries_index.json
378
+ - spec/cassettes/customer_create.json
379
+ - spec/cassettes/customers_index.json
380
+ - spec/cassettes/expenditure_create.json
381
+ - spec/cassettes/expenditures_index.json
382
+ - spec/cassettes/expense_methods_index.json
383
+ - spec/cassettes/expense_types_index.json
384
+ - spec/cassettes/income_create.json
385
+ - spec/cassettes/income_methods_index.json
386
+ - spec/cassettes/income_types_index.json
387
+ - spec/cassettes/incomes_index.json
388
+ - spec/cassettes/ledger_accounts_index.json
389
+ - spec/cassettes/payment_statuses_index.json
390
+ - spec/cassettes/period_types_index.json
391
+ - spec/cassettes/product_create.json
392
+ - spec/cassettes/products_index.json
393
+ - spec/cassettes/purchase_invoice_create.json
394
+ - spec/cassettes/purchase_invoices_index.json
395
+ - spec/cassettes/sales_invoice_create.json
396
+ - spec/cassettes/sales_invoices_index.json
397
+ - spec/cassettes/service_create.json
398
+ - spec/cassettes/services_index.json
399
+ - spec/cassettes/suppliers_index.json
400
+ - spec/cassettes/tax_rates_index.json
401
+ - spec/sageone_sdk/client/account_types_spec.rb
402
+ - spec/sageone_sdk/client/bank_accounts_spec.rb
403
+ - spec/sageone_sdk/client/chart_of_accounts_spec.rb
404
+ - spec/sageone_sdk/client/contact_types_spec.rb
405
+ - spec/sageone_sdk/client/contacts_spec.rb
406
+ - spec/sageone_sdk/client/countries_spec.rb
407
+ - spec/sageone_sdk/client/expenditures_spec.rb
408
+ - spec/sageone_sdk/client/expense_methods_spec.rb
409
+ - spec/sageone_sdk/client/expense_types_spec.rb
410
+ - spec/sageone_sdk/client/financial_settings_spec.rb
411
+ - spec/sageone_sdk/client/income_methods_spec.rb
412
+ - spec/sageone_sdk/client/income_types_spec.rb
413
+ - spec/sageone_sdk/client/incomes_spec.rb
414
+ - spec/sageone_sdk/client/journals_spec.rb
415
+ - spec/sageone_sdk/client/ledger_accounts_spec.rb
416
+ - spec/sageone_sdk/client/payment_statuses_spec.rb
417
+ - spec/sageone_sdk/client/period_types_spec.rb
418
+ - spec/sageone_sdk/client/products_spec.rb
419
+ - spec/sageone_sdk/client/purchase_invoices_spec.rb
420
+ - spec/sageone_sdk/client/sales_invoices_spec.rb
421
+ - spec/sageone_sdk/client/services_spec.rb
422
+ - spec/sageone_sdk/client/tax_rates_spec.rb
423
+ - spec/sageone_sdk/client/transactions_spec.rb
424
+ - spec/sageone_sdk_spec.rb
425
+ - spec/spec_helper.rb
426
+ homepage: https://developers.sageone.com/
427
+ licenses:
428
+ - MIT
429
+ metadata: {}
430
+ post_install_message:
431
+ rdoc_options: []
432
+ require_paths:
433
+ - lib
434
+ required_ruby_version: !ruby/object:Gem::Requirement
435
+ requirements:
436
+ - - ">="
437
+ - !ruby/object:Gem::Version
438
+ version: '0'
439
+ required_rubygems_version: !ruby/object:Gem::Requirement
440
+ requirements:
441
+ - - ">="
442
+ - !ruby/object:Gem::Version
443
+ version: '0'
444
+ requirements: []
445
+ rubyforge_project:
446
+ rubygems_version: 2.5.1
447
+ signing_key:
448
+ specification_version: 4
449
+ summary: SDK for Sage One API.
450
+ test_files:
451
+ - spec/cassettes/SageoneSdk_Client_AccountTypes/account_types/_id/returns_a_specific_account_type.json
452
+ - spec/cassettes/SageoneSdk_Client_AccountTypes/account_types/allows_pagination.json
453
+ - spec/cassettes/SageoneSdk_Client_AccountTypes/account_types/returns_all_account_types.json
454
+ - spec/cassettes/SageoneSdk_Client_BankAccounts/bank_accounts/_id/returns_a_specific_bank_account.json
455
+ - spec/cassettes/SageoneSdk_Client_BankAccounts/bank_accounts/allows_pagination.json
456
+ - spec/cassettes/SageoneSdk_Client_BankAccounts/bank_accounts/returns_all_bank_accounts.json
457
+ - spec/cassettes/SageoneSdk_Client_ChartOfAccounts/chart_of_accounts_structure/returns_the_chart_of_accounts_structure.json
458
+ - spec/cassettes/SageoneSdk_Client_ChartOfAccounts/chart_of_accounts_templates/returns_the_chart_of_accounts_templates.json
459
+ - spec/cassettes/SageoneSdk_Client_ContactTypes/contact_types/_id/returns_a_specific_contact_type.json
460
+ - spec/cassettes/SageoneSdk_Client_ContactTypes/contact_types/allows_pagination.json
461
+ - spec/cassettes/SageoneSdk_Client_ContactTypes/contact_types/returns_all_contact_types.json
462
+ - spec/cassettes/SageoneSdk_Client_Contacts/contacts/_id/returns_a_specific_contact.json
463
+ - spec/cassettes/SageoneSdk_Client_Contacts/contacts/allows_pagination.json
464
+ - spec/cassettes/SageoneSdk_Client_Contacts/contacts/returns_all_contacts.json
465
+ - spec/cassettes/SageoneSdk_Client_Contacts/create_contacts/creates_a_new_contact.json
466
+ - spec/cassettes/SageoneSdk_Client_Contacts/create_contacts/on_error/responds_with_an_appropriate_error_message.json
467
+ - spec/cassettes/SageoneSdk_Client_Contacts/delete_a_contact/deletes_the_contact.json
468
+ - spec/cassettes/SageoneSdk_Client_Contacts/update_a_contact/updates_the_given_contact.json
469
+ - spec/cassettes/SageoneSdk_Client_Countries/countries/_id/returns_a_specific_account_type.json
470
+ - spec/cassettes/SageoneSdk_Client_Countries/countries/allows_pagination.json
471
+ - spec/cassettes/SageoneSdk_Client_Countries/countries/returns_all_countries.json
472
+ - spec/cassettes/SageoneSdk_Client_Expenditures/create_expenditures/creates_a_new_expenditure.json
473
+ - spec/cassettes/SageoneSdk_Client_Expenditures/create_expenditures/on_error/responds_with_an_appropriate_error_message.json
474
+ - spec/cassettes/SageoneSdk_Client_Expenditures/delete_an_expenditure/deletes_the_expenditure.json
475
+ - spec/cassettes/SageoneSdk_Client_Expenditures/expenditures/_id/returns_a_specific_expenditure.json
476
+ - spec/cassettes/SageoneSdk_Client_Expenditures/expenditures/allows_pagination.json
477
+ - spec/cassettes/SageoneSdk_Client_Expenditures/expenditures/returns_all_expenditures.json
478
+ - spec/cassettes/SageoneSdk_Client_Expenditures/update_an_expenditure/updates_the_given_expenditure.json
479
+ - spec/cassettes/SageoneSdk_Client_ExpenseMethods/expense_methods/_id/returns_a_specific_contact_type.json
480
+ - spec/cassettes/SageoneSdk_Client_ExpenseMethods/expense_methods/returns_all_expense_methods.json
481
+ - spec/cassettes/SageoneSdk_Client_ExpenseMethods/income_methods/_id/returns_a_specific_contact_type.json
482
+ - spec/cassettes/SageoneSdk_Client_ExpenseMethods/income_methods/allows_pagination.json
483
+ - spec/cassettes/SageoneSdk_Client_ExpenseMethods/income_methods/returns_all_income_methods.json
484
+ - spec/cassettes/SageoneSdk_Client_ExpenseTypes/expense_types/_id/returns_a_specific_contact_type.json
485
+ - spec/cassettes/SageoneSdk_Client_ExpenseTypes/expense_types/allows_pagination.json
486
+ - spec/cassettes/SageoneSdk_Client_ExpenseTypes/expense_types/returns_all_expense_types.json
487
+ - spec/cassettes/SageoneSdk_Client_FinancialSettings/financial_settings/returns_the_financial_settings.json
488
+ - spec/cassettes/SageoneSdk_Client_FinancialSettings/update_financial_settings/updates_the_financial_settings.json
489
+ - spec/cassettes/SageoneSdk_Client_IncomeMethods/income_methods/_id/returns_a_specific_contact_type.json
490
+ - spec/cassettes/SageoneSdk_Client_IncomeMethods/income_methods/returns_all_income_methods.json
491
+ - spec/cassettes/SageoneSdk_Client_IncomeTypes/income_types/_id/returns_a_specific_contact_type.json
492
+ - spec/cassettes/SageoneSdk_Client_IncomeTypes/income_types/allows_pagination.json
493
+ - spec/cassettes/SageoneSdk_Client_IncomeTypes/income_types/returns_all_income_types.json
494
+ - spec/cassettes/SageoneSdk_Client_Incomes/create_incomes/creates_a_new_income.json
495
+ - spec/cassettes/SageoneSdk_Client_Incomes/create_incomes/on_error/responds_with_an_appropriate_error_message.json
496
+ - spec/cassettes/SageoneSdk_Client_Incomes/delete_an_income/deletes_the_income.json
497
+ - spec/cassettes/SageoneSdk_Client_Incomes/incomes/_id/returns_a_specific_income.json
498
+ - spec/cassettes/SageoneSdk_Client_Incomes/incomes/allows_pagination.json
499
+ - spec/cassettes/SageoneSdk_Client_Incomes/incomes/returns_all_incomes.json
500
+ - spec/cassettes/SageoneSdk_Client_Incomes/update_an_income/updates_the_given_income.json
501
+ - spec/cassettes/SageoneSdk_Client_Journals/journals/creates_a_journal.json
502
+ - spec/cassettes/SageoneSdk_Client_Journals/journals/on_error/responds_with_an_appropriate_error_message.json
503
+ - spec/cassettes/SageoneSdk_Client_LedgerAccounts/create_a_ledger_account/creates_a_new_ledger_account.json
504
+ - spec/cassettes/SageoneSdk_Client_LedgerAccounts/create_a_ledger_account/on_error/responds_with_an_appropriate_error_message.json
505
+ - spec/cassettes/SageoneSdk_Client_LedgerAccounts/ledger_account_balances/does_not_return_ledger_accounts_with_a_zero_balance.json
506
+ - spec/cassettes/SageoneSdk_Client_LedgerAccounts/ledger_account_balances/returns_ledger_accounts_with_a_balance.json
507
+ - spec/cassettes/SageoneSdk_Client_LedgerAccounts/ledger_accounts/_id/returns_a_specific_ledger_account.json
508
+ - spec/cassettes/SageoneSdk_Client_LedgerAccounts/ledger_accounts/allows_pagination.json
509
+ - spec/cassettes/SageoneSdk_Client_LedgerAccounts/ledger_accounts/returns_all_ledger_accounts.json
510
+ - spec/cassettes/SageoneSdk_Client_PaymentStatuses/payment_statuses/_id/returns_a_specific_contact_type.json
511
+ - spec/cassettes/SageoneSdk_Client_PaymentStatuses/payment_statuses/allows_pagination.json
512
+ - spec/cassettes/SageoneSdk_Client_PaymentStatuses/payment_statuses/returns_all_payment_statuses.json
513
+ - spec/cassettes/SageoneSdk_Client_PeriodTypes/period_types/_id/returns_a_specific_contact_type.json
514
+ - spec/cassettes/SageoneSdk_Client_PeriodTypes/period_types/allows_pagination.json
515
+ - spec/cassettes/SageoneSdk_Client_PeriodTypes/period_types/returns_all_period_types.json
516
+ - spec/cassettes/SageoneSdk_Client_Products/create_products/creates_a_new_product.json
517
+ - spec/cassettes/SageoneSdk_Client_Products/create_products/on_error/responds_with_an_appropriate_error_message.json
518
+ - spec/cassettes/SageoneSdk_Client_Products/delete_a_product/deletes_the_product.json
519
+ - spec/cassettes/SageoneSdk_Client_Products/products/_id/returns_a_specific_product.json
520
+ - spec/cassettes/SageoneSdk_Client_Products/products/allows_pagination.json
521
+ - spec/cassettes/SageoneSdk_Client_Products/products/returns_all_products.json
522
+ - spec/cassettes/SageoneSdk_Client_Products/update_a_product/updates_the_given_product.json
523
+ - spec/cassettes/SageoneSdk_Client_PurchaseInvoices/create_purchase_invoices/creates_a_new_purchase_invoice.json
524
+ - spec/cassettes/SageoneSdk_Client_PurchaseInvoices/create_purchase_invoices/on_error/responds_with_an_appropriate_error_message.json
525
+ - spec/cassettes/SageoneSdk_Client_PurchaseInvoices/delete_a_purchase_invoice/deletes_the_purchase_invoice.json
526
+ - spec/cassettes/SageoneSdk_Client_PurchaseInvoices/purchase_invoices/_id/returns_a_specific_purchase_invoice.json
527
+ - spec/cassettes/SageoneSdk_Client_PurchaseInvoices/purchase_invoices/allows_pagination.json
528
+ - spec/cassettes/SageoneSdk_Client_PurchaseInvoices/purchase_invoices/returns_all_purchase_invoices.json
529
+ - spec/cassettes/SageoneSdk_Client_PurchaseInvoices/update_a_purchase_invoice/updates_the_given_purchase_invoice.json
530
+ - spec/cassettes/SageoneSdk_Client_SalesInvoices/create_sales_invoices/creates_a_new_sales_invoice.json
531
+ - spec/cassettes/SageoneSdk_Client_SalesInvoices/create_sales_invoices/on_error/responds_with_an_appropriate_error_message.json
532
+ - spec/cassettes/SageoneSdk_Client_SalesInvoices/delete_a_sales_invoice/deletes_the_sales_invoice.json
533
+ - spec/cassettes/SageoneSdk_Client_SalesInvoices/sales_invoices/_id/returns_a_specific_sales_invoice.json
534
+ - spec/cassettes/SageoneSdk_Client_SalesInvoices/sales_invoices/allows_pagination.json
535
+ - spec/cassettes/SageoneSdk_Client_SalesInvoices/sales_invoices/returns_all_sales_invoices.json
536
+ - spec/cassettes/SageoneSdk_Client_SalesInvoices/update_a_sales_invoice/updates_the_given_sales_invoice.json
537
+ - spec/cassettes/SageoneSdk_Client_Services/create_services/creates_a_new_service.json
538
+ - spec/cassettes/SageoneSdk_Client_Services/create_services/on_error/responds_with_an_appropriate_error_message.json
539
+ - spec/cassettes/SageoneSdk_Client_Services/delete_a_service/deletes_the_service.json
540
+ - spec/cassettes/SageoneSdk_Client_Services/services/_id/returns_a_specific_service.json
541
+ - spec/cassettes/SageoneSdk_Client_Services/services/allows_pagination.json
542
+ - spec/cassettes/SageoneSdk_Client_Services/services/returns_all_services.json
543
+ - spec/cassettes/SageoneSdk_Client_Services/update_a_service/updates_the_given_service.json
544
+ - spec/cassettes/SageoneSdk_Client_TaxRates/tax_rates/_id/returns_a_specific_contact_type.json
545
+ - spec/cassettes/SageoneSdk_Client_TaxRates/tax_rates/allows_pagination.json
546
+ - spec/cassettes/SageoneSdk_Client_TaxRates/tax_rates/returns_all_tax_rates.json
547
+ - spec/cassettes/SageoneSdk_Client_Transactions/transactions/returns_all_transactions.json
548
+ - spec/cassettes/account_types_index.json
549
+ - spec/cassettes/bank_accounts_index.json
550
+ - spec/cassettes/contact_types_index.json
551
+ - spec/cassettes/contacts_index.json
552
+ - spec/cassettes/countries_index.json
553
+ - spec/cassettes/customer_create.json
554
+ - spec/cassettes/customers_index.json
555
+ - spec/cassettes/expenditure_create.json
556
+ - spec/cassettes/expenditures_index.json
557
+ - spec/cassettes/expense_methods_index.json
558
+ - spec/cassettes/expense_types_index.json
559
+ - spec/cassettes/income_create.json
560
+ - spec/cassettes/income_methods_index.json
561
+ - spec/cassettes/income_types_index.json
562
+ - spec/cassettes/incomes_index.json
563
+ - spec/cassettes/ledger_accounts_index.json
564
+ - spec/cassettes/payment_statuses_index.json
565
+ - spec/cassettes/period_types_index.json
566
+ - spec/cassettes/product_create.json
567
+ - spec/cassettes/products_index.json
568
+ - spec/cassettes/purchase_invoice_create.json
569
+ - spec/cassettes/purchase_invoices_index.json
570
+ - spec/cassettes/sales_invoice_create.json
571
+ - spec/cassettes/sales_invoices_index.json
572
+ - spec/cassettes/service_create.json
573
+ - spec/cassettes/services_index.json
574
+ - spec/cassettes/suppliers_index.json
575
+ - spec/cassettes/tax_rates_index.json
576
+ - spec/sageone_sdk/client/account_types_spec.rb
577
+ - spec/sageone_sdk/client/bank_accounts_spec.rb
578
+ - spec/sageone_sdk/client/chart_of_accounts_spec.rb
579
+ - spec/sageone_sdk/client/contact_types_spec.rb
580
+ - spec/sageone_sdk/client/contacts_spec.rb
581
+ - spec/sageone_sdk/client/countries_spec.rb
582
+ - spec/sageone_sdk/client/expenditures_spec.rb
583
+ - spec/sageone_sdk/client/expense_methods_spec.rb
584
+ - spec/sageone_sdk/client/expense_types_spec.rb
585
+ - spec/sageone_sdk/client/financial_settings_spec.rb
586
+ - spec/sageone_sdk/client/income_methods_spec.rb
587
+ - spec/sageone_sdk/client/income_types_spec.rb
588
+ - spec/sageone_sdk/client/incomes_spec.rb
589
+ - spec/sageone_sdk/client/journals_spec.rb
590
+ - spec/sageone_sdk/client/ledger_accounts_spec.rb
591
+ - spec/sageone_sdk/client/payment_statuses_spec.rb
592
+ - spec/sageone_sdk/client/period_types_spec.rb
593
+ - spec/sageone_sdk/client/products_spec.rb
594
+ - spec/sageone_sdk/client/purchase_invoices_spec.rb
595
+ - spec/sageone_sdk/client/sales_invoices_spec.rb
596
+ - spec/sageone_sdk/client/services_spec.rb
597
+ - spec/sageone_sdk/client/tax_rates_spec.rb
598
+ - spec/sageone_sdk/client/transactions_spec.rb
599
+ - spec/sageone_sdk_spec.rb
600
+ - spec/spec_helper.rb
601
+ has_rdoc: