beanie 0.1.4 → 0.2.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.
Files changed (74) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +4 -0
  3. data/README.md +79 -16
  4. data/Rakefile +8 -1
  5. data/beanie.gemspec +44 -25
  6. data/docs/BankAccount.md +24 -0
  7. data/docs/BankAccountApi.md +154 -0
  8. data/docs/BankAccountInput.md +24 -0
  9. data/docs/ErrorModel.md +9 -0
  10. data/git_push.sh +55 -0
  11. data/lib/beanie/api/bank_account_api.rb +183 -0
  12. data/lib/beanie/api_client.rb +388 -0
  13. data/lib/beanie/api_error.rb +38 -0
  14. data/lib/beanie/configuration.rb +202 -0
  15. data/lib/beanie/models/bank_account.rb +358 -0
  16. data/lib/beanie/models/bank_account_input.rb +357 -0
  17. data/lib/beanie/models/error_model.rb +202 -0
  18. data/lib/beanie/version.rb +13 -30
  19. data/lib/beanie.rb +32 -115
  20. data/spec/api/bank_account_api_spec.rb +71 -0
  21. data/spec/api_client_spec.rb +226 -0
  22. data/spec/configuration_spec.rb +42 -0
  23. data/spec/models/bank_account_input_spec.rb +137 -0
  24. data/spec/models/bank_account_spec.rb +137 -0
  25. data/spec/models/error_model_spec.rb +47 -0
  26. data/spec/spec_helper.rb +111 -0
  27. metadata +174 -71
  28. data/.gitignore +0 -17
  29. data/VERSION +0 -1
  30. data/lib/beanie/api.rb +0 -182
  31. data/lib/beanie/bank_account.rb +0 -44
  32. data/lib/beanie/bank_statement.rb +0 -45
  33. data/lib/beanie/bank_statement_data.rb +0 -51
  34. data/lib/beanie/beanie_alert.rb +0 -66
  35. data/lib/beanie/bill_of_material.rb +0 -44
  36. data/lib/beanie/billable.rb +0 -46
  37. data/lib/beanie/bom_item.rb +0 -44
  38. data/lib/beanie/company.rb +0 -66
  39. data/lib/beanie/company_member.rb +0 -43
  40. data/lib/beanie/config_type.rb +0 -62
  41. data/lib/beanie/config_value.rb +0 -42
  42. data/lib/beanie/customer.rb +0 -51
  43. data/lib/beanie/customer_address.rb +0 -63
  44. data/lib/beanie/customer_note.rb +0 -42
  45. data/lib/beanie/document.rb +0 -71
  46. data/lib/beanie/fixed_asset.rb +0 -45
  47. data/lib/beanie/journal.rb +0 -44
  48. data/lib/beanie/journal_item.rb +0 -44
  49. data/lib/beanie/nominal_account.rb +0 -73
  50. data/lib/beanie/nominal_account_category.rb +0 -49
  51. data/lib/beanie/product.rb +0 -52
  52. data/lib/beanie/product_category.rb +0 -43
  53. data/lib/beanie/product_price.rb +0 -44
  54. data/lib/beanie/production_order.rb +0 -76
  55. data/lib/beanie/purchase_invoice.rb +0 -55
  56. data/lib/beanie/purchase_order.rb +0 -46
  57. data/lib/beanie/purchase_order_item.rb +0 -60
  58. data/lib/beanie/sales_invoice.rb +0 -83
  59. data/lib/beanie/sales_invoice_item.rb +0 -50
  60. data/lib/beanie/sales_order.rb +0 -74
  61. data/lib/beanie/sales_order_item.rb +0 -126
  62. data/lib/beanie/stock_adjustment.rb +0 -70
  63. data/lib/beanie/stock_category.rb +0 -44
  64. data/lib/beanie/stock_item.rb +0 -58
  65. data/lib/beanie/stock_location.rb +0 -42
  66. data/lib/beanie/stock_supplier.rb +0 -48
  67. data/lib/beanie/supplier.rb +0 -48
  68. data/lib/beanie/supplier_address.rb +0 -53
  69. data/lib/beanie/supplier_note.rb +0 -42
  70. data/lib/beanie/tax_registration.rb +0 -59
  71. data/lib/beanie/vat_record.rb +0 -66
  72. data/lib/beanie/vat_return.rb +0 -60
  73. data/lib/beanie/work_centre.rb +0 -99
  74. data/lib/beanie/work_centre_group.rb +0 -50
@@ -1,60 +0,0 @@
1
- #
2
- # Copyright (c) 2017-2018, AltoYield Limited. All rights reserved.
3
- #
4
- # This is free software; you can redistribute it and/or modify it
5
- # under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2, or (at your option)
7
- # any later version.
8
- #
9
- # It is distributed in the hope that it will be useful, but WITHOUT
10
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
- # for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along
15
- # with this product; see the file COPYING. If not, write to the Free
16
- # Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
17
- #
18
- # THIS SOFTWARE IS PROVIDED BY ALTOYIELD LIMITED "AS IS" AND ANY EXPRESS
19
- # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
- # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
- # ARE DISCLAIMED. IN NO EVENT SHALL ALTOYIELD LIMITED BE LIABLE FOR
22
- # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
- # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24
- # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
- # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
27
- # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
- # POSSIBILITY OF SUCH DAMAGE.
29
- #
30
- module Beanie
31
- class PurchaseOrderItem < Api
32
- attr_accessor :id, :description, :discount, :quantity, :state, :unit_cost
33
- attr_accessor :purchase_order_id, :sales_tax
34
-
35
- STATE_NEW = 0
36
- STATE_PARTIAL = 1
37
- STATE_BACKORDER = 2
38
- STATE_COMPLETE = 3
39
-
40
- STATE_NAMES = [
41
- ["Awaiting Receipt", STATE_NEW],
42
- ["Partial Delivery", STATE_PARTIAL],
43
- ["Back-Order", STATE_BACKORDER],
44
- ["Item Complete", STATE_COMPLETE]
45
- ].freeze
46
-
47
- #
48
- # Initialize instance variables
49
- def initialize
50
- @id = nil
51
- @description = nil
52
- @discount = nil
53
- @quantity = nil
54
- @state = nil
55
- @unit_cost = nil
56
- @purchase_order_id = nil
57
- @sales_tax = nil
58
- end
59
- end
60
- end
@@ -1,83 +0,0 @@
1
- #
2
- # Copyright (c) 2017-2018, AltoYield Limited. All rights reserved.
3
- #
4
- # This is free software; you can redistribute it and/or modify it
5
- # under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2, or (at your option)
7
- # any later version.
8
- #
9
- # It is distributed in the hope that it will be useful, but WITHOUT
10
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
- # for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along
15
- # with this product; see the file COPYING. If not, write to the Free
16
- # Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
17
- #
18
- # THIS SOFTWARE IS PROVIDED BY ALTOYIELD LIMITED "AS IS" AND ANY EXPRESS
19
- # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
- # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
- # ARE DISCLAIMED. IN NO EVENT SHALL ALTOYIELD LIMITED BE LIABLE FOR
22
- # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
- # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24
- # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
- # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
27
- # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
- # POSSIBILITY OF SUCH DAMAGE.
29
- #
30
- module Beanie
31
- class SalesInvoice < Api
32
- attr_accessor :id, :date, :due_date, :number, :is_credit_note, :local_gross, :shipping, :sub_total, :tax
33
- attr_accessor :tax_point, :sales_order_id, :original_invoice, :state
34
-
35
- STATE_NEW = 0
36
- STATE_POSTED = 1
37
- STATE_SENT = 2
38
- STATE_PAID = 3
39
- STATE_CANCELLED = 4
40
- STATE_OVERDUE1 = 5
41
- STATE_OVERDUE2 = 6
42
- STATE_OVERDUE3 = 7
43
- STATE_OVERDUE4 = 8
44
- STATE_OVERDUE5 = 9
45
-
46
- STATE_NAMES = [
47
- ["New (Unposted)", STATE_NEW],
48
- ["Posted to Journal", STATE_POSTED],
49
- ["Sent to Customer", STATE_SENT],
50
- ["Paid", STATE_PAID],
51
- ["Cancelled", STATE_CANCELLED],
52
- ["Overdue (Past 30 days)", STATE_OVERDUE1],
53
- ["Overdue (Past 45 days)", STATE_OVERDUE2],
54
- ["Overdue (Over 60 days)", STATE_OVERDUE3],
55
- ["Overdue (Over 90 days)", STATE_OVERDUE4],
56
- ["Overdue (Over 120 days)", STATE_OVERDUE5]
57
- ].freeze
58
-
59
- #
60
- # Initialize instance variables
61
- def initialize
62
- @id = nil
63
- @date = nil
64
- @due_date = nil
65
- @number = nil
66
- @is_credit_note = nil
67
- @local_gross = nil
68
- @shipping = nil
69
- @sub_total = nil
70
- @tax = nil
71
- @tax_point = nil
72
- @sales_order_id = nil
73
- @original_invoice = nil
74
- @state = nil
75
- end
76
-
77
- #
78
- # Show the state in a useful format
79
- def state_name
80
- STATE_NAMES[self.state][0]
81
- end
82
- end
83
- end
@@ -1,50 +0,0 @@
1
- #
2
- # Copyright (c) 2017-2018, AltoYield Limited. All rights reserved.
3
- #
4
- # This is free software; you can redistribute it and/or modify it
5
- # under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2, or (at your option)
7
- # any later version.
8
- #
9
- # It is distributed in the hope that it will be useful, but WITHOUT
10
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
- # for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along
15
- # with this product; see the file COPYING. If not, write to the Free
16
- # Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
17
- #
18
- # THIS SOFTWARE IS PROVIDED BY ALTOYIELD LIMITED "AS IS" AND ANY EXPRESS
19
- # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
- # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
- # ARE DISCLAIMED. IN NO EVENT SHALL ALTOYIELD LIMITED BE LIABLE FOR
22
- # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
- # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24
- # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
- # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
27
- # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
- # POSSIBILITY OF SUCH DAMAGE.
29
- #
30
- module Beanie
31
- class SalesInvoiceItem < Api
32
- attr_accessor :id, :description, :discount, :quantity, :run_date, :run_length, :unit_cost
33
- attr_accessor :sales_invoice_id, :sales_order_item_id, :sales_tax
34
-
35
- #
36
- # Initialize instance variables
37
- def initialize
38
- @id = nil
39
- @description = nil
40
- @discount = nil
41
- @quantity = nil
42
- @run_date = nil
43
- @run_length = nil
44
- @unit_cost = nil
45
- @sales_invoice_id = nil
46
- @sales_order_item_id = nil
47
- @sales_tax = nil
48
- end
49
- end
50
- end
@@ -1,74 +0,0 @@
1
- #
2
- # Copyright (c) 2017-2018, AltoYield Limited. All rights reserved.
3
- #
4
- # This is free software; you can redistribute it and/or modify it
5
- # under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2, or (at your option)
7
- # any later version.
8
- #
9
- # It is distributed in the hope that it will be useful, but WITHOUT
10
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
- # for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along
15
- # with this product; see the file COPYING. If not, write to the Free
16
- # Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
17
- #
18
- # THIS SOFTWARE IS PROVIDED BY ALTOYIELD LIMITED "AS IS" AND ANY EXPRESS
19
- # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
- # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
- # ARE DISCLAIMED. IN NO EVENT SHALL ALTOYIELD LIMITED BE LIABLE FOR
22
- # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
- # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24
- # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
- # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
27
- # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
- # POSSIBILITY OF SUCH DAMAGE.
29
- #
30
- module Beanie
31
- class SalesOrder < Api
32
- attr_accessor :id, :cash_customer_ref, :number, :date, :title, :billing_frequency
33
- attr_accessor :your_ref, :currency_id, :customer_id
34
-
35
- BILL_FREQUENCY_DAILY = 0
36
- BILL_FREQUENCY_WEEKLY = 1
37
- BILL_FREQUENCY_FORTNIGHTLY = 2
38
- BILL_FREQUENCY_MONTHLY = 3
39
- BILL_FREQUENCY_QUARTERLY = 4
40
- BILL_FREQUENCY_ANNUALLY = 5
41
-
42
- BILL_FREQUENCY_NAMES = [
43
- ["Daily", BILL_FREQUENCY_DAILY],
44
- ["Weekly", BILL_FREQUENCY_WEEKLY],
45
- ["Fortnightly", BILL_FREQUENCY_FORTNIGHTLY],
46
- ["Monthly", BILL_FREQUENCY_MONTHLY],
47
- ["Quarterly", BILL_FREQUENCY_QUARTERLY],
48
- ["Yearly", BILL_FREQUENCY_ANNUALLY]
49
- ].freeze
50
-
51
- #
52
- # Initialize instance variables
53
- def initialize
54
- @id = nil
55
- @cash_customer_ref = nil
56
- @number = nil
57
- @date = nil
58
- @title = nil
59
- @billing_frequency = BILL_FREQUENCY_DAILY
60
- @your_ref = nil
61
- @currency = nil
62
- @customer_id = nil
63
- end
64
-
65
- #
66
- # Pretty name for the frequency
67
- def frequency_name
68
- BILL_FREQUENCY_NAMES.each do |fn|
69
- return fn[0] if fn[1] == self.billing_frequency
70
- end
71
- return "Unknown?"
72
- end
73
- end
74
- end
@@ -1,126 +0,0 @@
1
- #
2
- # Copyright (c) 2017-2018, AltoYield Limited. All rights reserved.
3
- #
4
- # This is free software; you can redistribute it and/or modify it
5
- # under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2, or (at your option)
7
- # any later version.
8
- #
9
- # It is distributed in the hope that it will be useful, but WITHOUT
10
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
- # for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along
15
- # with this product; see the file COPYING. If not, write to the Free
16
- # Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
17
- #
18
- # THIS SOFTWARE IS PROVIDED BY ALTOYIELD LIMITED "AS IS" AND ANY EXPRESS
19
- # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
- # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
- # ARE DISCLAIMED. IN NO EVENT SHALL ALTOYIELD LIMITED BE LIABLE FOR
22
- # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
- # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24
- # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
- # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
27
- # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
- # POSSIBILITY OF SUCH DAMAGE.
29
- #
30
- module Beanie
31
- class SalesOrderItem < Api
32
- attr_accessor :id, :completion, :description, :discount, :quantity, :rundate, :state
33
- attr_accessor :sales_order_id, :product_id, :service_period, :unit_cost, :sales_tax
34
-
35
- STATE_NEW = 0
36
- STATE_READY = 1
37
- STATE_DONE = 2
38
- STATE_BLOCKED = 3
39
-
40
- STATE_NAMES = [
41
- ["New Order Item", STATE_NEW],
42
- ["Billable", STATE_READY],
43
- ["Complete", STATE_DONE],
44
- ["Blocked", STATE_BLOCKED]
45
- ].freeze
46
-
47
- SERVICE_PERIOD_ONEOFF = 0
48
- SERVICE_PERIOD_HOURLY = 1
49
- SERVICE_PERIOD_DAILY = 2
50
- SERVICE_PERIOD_WEEKLY = 3
51
- SERVICE_PERIOD_MONTHLY = 4
52
- SERVICE_PERIOD_QUARTERLY = 5
53
- SERVICE_PERIOD_ANNUALLY = 6
54
-
55
- SERVICE_PERIOD_NAMES = [
56
- ["One-Off", SERVICE_PERIOD_ONEOFF],
57
- ["Hourly Rate", SERVICE_PERIOD_HOURLY],
58
- ["Daily Rate", SERVICE_PERIOD_DAILY],
59
- ["Weekly Rate", SERVICE_PERIOD_WEEKLY],
60
- ["Monthly Rate", SERVICE_PERIOD_MONTHLY],
61
- ["Quarterly Rate", SERVICE_PERIOD_QUARTERLY],
62
- ["Annual Rate", SERVICE_PERIOD_ANNUALLY]
63
- ].freeze
64
-
65
- #
66
- # Initialize instance variables
67
- def initialize
68
- @id = nil
69
- @completion = nil
70
- @description = nil
71
- @discount = nil
72
- @quantity = nil
73
- @rundate = nil
74
- @state = nil
75
- @sales_order_id = nil
76
- @product_id = nil
77
- @service_period = nil
78
- @unit_cost = nil
79
- @sales_tax = nil
80
- end
81
-
82
- #
83
- # Pretty name for the state
84
- def state_name
85
- STATE_NAMES[state][0]
86
- end
87
-
88
- #
89
- # Service period name
90
- def period_name
91
- SERVICE_PERIOD_NAMES[service_period][0]
92
- end
93
-
94
- #
95
- # Is this item active?
96
- def active?
97
- state == STATE_READY
98
- end
99
-
100
- #
101
- # Is this item blocked?
102
- def blocked?
103
- state == STATE_BLOCKED
104
- end
105
-
106
- #
107
- # Is this a one-off rather than a time-based item?
108
- def one_off?
109
- self.service_period == SERVICE_PERIOD_ONEOFF
110
- end
111
-
112
- #
113
- # Get the private data
114
- def private_data
115
- response = SalesOrderItem.get(:url => "/sales_order_items/#{@id}/private_data")
116
- response["data"]
117
- end
118
-
119
- #
120
- # Update/set the private data
121
- def private_data=(data)
122
- pdata = {:data => data}
123
- response = SalesOrderItem.post(pdata, :url => "/sales_order_items/#{@id}/private_data")
124
- end
125
- end
126
- end
@@ -1,70 +0,0 @@
1
- #
2
- # Copyright (c) 2017-2018, AltoYield Limited. All rights reserved.
3
- #
4
- # This is free software; you can redistribute it and/or modify it
5
- # under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2, or (at your option)
7
- # any later version.
8
- #
9
- # It is distributed in the hope that it will be useful, but WITHOUT
10
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
- # for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along
15
- # with this product; see the file COPYING. If not, write to the Free
16
- # Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
17
- #
18
- # THIS SOFTWARE IS PROVIDED BY ALTOYIELD LIMITED "AS IS" AND ANY EXPRESS
19
- # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
- # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
- # ARE DISCLAIMED. IN NO EVENT SHALL ALTOYIELD LIMITED BE LIABLE FOR
22
- # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
- # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24
- # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
- # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
27
- # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
- # POSSIBILITY OF SUCH DAMAGE.
29
- #
30
- module Beanie
31
- class StockAdjustment < Api
32
- attr_accessor :id, :effective, :adjustment_type, :amount, :note
33
- attr_accessor :stock_item_id, :stock_supplier_id, :purchase_order_item_id
34
-
35
- TYPE_STOCK_TAKING = 0
36
- TYPE_SCHED_REQUEST = 1
37
- TYPE_ORDER_WAIT = 2
38
- TYPE_TO_INVENTORY = 3
39
- TYPE_FROM_INVENTORY = 3
40
- TYPE_SPOILAGE = 4
41
-
42
- TYPE_NAMES = [
43
- ["Stock-Taking", TYPE_STOCK_TAKING],
44
- ["Scheduled Request", TYPE_SCHED_REQUEST],
45
- ["Awaiting Delivery", TYPE_ORDER_WAIT],
46
- ["Move to Inventory", TYPE_TO_INVENTORY],
47
- ["Move from Inventory", TYPE_FROM_INVENTORY],
48
- ["Spoilage", TYPE_SPOILAGE]
49
- ].freeze
50
-
51
- #
52
- # Initialize instance variables
53
- def initialize
54
- @id = nil
55
- @effective = nil
56
- @adjustment_type = nil
57
- @amount = nil
58
- @note = nil
59
- @stock_item_id = nil
60
- @stock_supplier_id = nil
61
- @purchase_order_item_id = nil
62
- end
63
-
64
- #
65
- # Convert the type into a useful name
66
- def type_name
67
- TYPE_NAMES[adjustment_type][0]
68
- end
69
- end
70
- end
@@ -1,44 +0,0 @@
1
- #
2
- # Copyright (c) 2017-2018, AltoYield Limited. All rights reserved.
3
- #
4
- # This is free software; you can redistribute it and/or modify it
5
- # under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2, or (at your option)
7
- # any later version.
8
- #
9
- # It is distributed in the hope that it will be useful, but WITHOUT
10
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
- # for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along
15
- # with this product; see the file COPYING. If not, write to the Free
16
- # Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
17
- #
18
- # THIS SOFTWARE IS PROVIDED BY ALTOYIELD LIMITED "AS IS" AND ANY EXPRESS
19
- # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
- # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
- # ARE DISCLAIMED. IN NO EVENT SHALL ALTOYIELD LIMITED BE LIABLE FOR
22
- # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
- # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24
- # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
- # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
27
- # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
- # POSSIBILITY OF SUCH DAMAGE.
29
- #
30
- module Beanie
31
- class StockCategory < Api
32
- attr_accessor :id, :code, :name, :description, :nominal_account_id
33
-
34
- #
35
- # Initialize instance variables
36
- def initialize
37
- @id = nil
38
- @code = nil
39
- @name = nil
40
- @description = nil
41
- @nominal_account_id = nil
42
- end
43
- end
44
- end
@@ -1,58 +0,0 @@
1
- #
2
- # Copyright (c) 2017-2018, AltoYield Limited. All rights reserved.
3
- #
4
- # This is free software; you can redistribute it and/or modify it
5
- # under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2, or (at your option)
7
- # any later version.
8
- #
9
- # It is distributed in the hope that it will be useful, but WITHOUT
10
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
- # for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along
15
- # with this product; see the file COPYING. If not, write to the Free
16
- # Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
17
- #
18
- # THIS SOFTWARE IS PROVIDED BY ALTOYIELD LIMITED "AS IS" AND ANY EXPRESS
19
- # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
- # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
- # ARE DISCLAIMED. IN NO EVENT SHALL ALTOYIELD LIMITED BE LIABLE FOR
22
- # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
- # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24
- # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
- # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
27
- # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
- # POSSIBILITY OF SUCH DAMAGE.
29
- #
30
- module Beanie
31
- class StockItem < Api
32
- attr_accessor :id, :description, :item_type, :name, :sku, :stock_category_id, :unit_of_measure
33
-
34
- TYPE_PURCHASED = 0
35
- TYPE_RAW_MATERIAL = 1
36
- TYPE_WORK_IN_PROGRESS = 2
37
- TYPE_FINISHED_GOODS = 3
38
-
39
- TYPE_NAMES = [
40
- ["Purchased for Resale", TYPE_PURCHASED],
41
- ["Raw Materials", TYPE_RAW_MATERIAL],
42
- ["Work In Progress", TYPE_WORK_IN_PROGRESS],
43
- ["Finished Goods", TYPE_FINISHED_GOODS]
44
- ].freeze
45
-
46
- #
47
- # Initialize instance variables
48
- def initialize
49
- @id = nil
50
- @description = nil
51
- @item_type = nil
52
- @name = nil
53
- @sku = nil
54
- @stock_category_id = nil
55
- @unit_of_measure = nil
56
- end
57
- end
58
- end
@@ -1,42 +0,0 @@
1
- #
2
- # Copyright (c) 2017-2018, AltoYield Limited. All rights reserved.
3
- #
4
- # This is free software; you can redistribute it and/or modify it
5
- # under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2, or (at your option)
7
- # any later version.
8
- #
9
- # It is distributed in the hope that it will be useful, but WITHOUT
10
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
- # for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along
15
- # with this product; see the file COPYING. If not, write to the Free
16
- # Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
17
- #
18
- # THIS SOFTWARE IS PROVIDED BY ALTOYIELD LIMITED "AS IS" AND ANY EXPRESS
19
- # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
- # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
- # ARE DISCLAIMED. IN NO EVENT SHALL ALTOYIELD LIMITED BE LIABLE FOR
22
- # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
- # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24
- # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
- # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
27
- # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
- # POSSIBILITY OF SUCH DAMAGE.
29
- #
30
- module Beanie
31
- class StockLocation < Api
32
- attr_accessor :id, :description, :name
33
-
34
- #
35
- # Initialize instance variables
36
- def initialize
37
- @id = nil
38
- @description = nil
39
- @name = nil
40
- end
41
- end
42
- end
@@ -1,48 +0,0 @@
1
- #
2
- # Copyright (c) 2017-2018, AltoYield Limited. All rights reserved.
3
- #
4
- # This is free software; you can redistribute it and/or modify it
5
- # under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 2, or (at your option)
7
- # any later version.
8
- #
9
- # It is distributed in the hope that it will be useful, but WITHOUT
10
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
- # for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License along
15
- # with this product; see the file COPYING. If not, write to the Free
16
- # Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
17
- #
18
- # THIS SOFTWARE IS PROVIDED BY ALTOYIELD LIMITED "AS IS" AND ANY EXPRESS
19
- # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
- # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
- # ARE DISCLAIMED. IN NO EVENT SHALL ALTOYIELD LIMITED BE LIABLE FOR
22
- # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
- # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24
- # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
- # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
- # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
27
- # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
- # POSSIBILITY OF SUCH DAMAGE.
29
- #
30
- module Beanie
31
- class StockSupplier < Api
32
- attr_accessor :id, :priority, :supplier_partno, :lot_size, :lead_time, :last_price
33
- attr_accessor :stock_item_id, :supplier_id
34
-
35
- #
36
- # Initialize instance variables
37
- def initialize
38
- @id = nil
39
- @priority = nil
40
- @supplier_partno = nil
41
- @lot_size = nil
42
- @lead_time = nil
43
- @last_price = nil
44
- @stock_item_id = nil
45
- @supplier_id = nil
46
- end
47
- end
48
- end