beanie 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +0 -1
- data/VERSION +1 -1
- data/beanie.gemspec +1 -0
- data/lib/beanie/api.rb +69 -21
- data/lib/beanie/bank_account.rb +11 -1
- data/lib/beanie/bank_statement.rb +11 -0
- data/lib/beanie/bank_statement_data.rb +16 -0
- data/lib/beanie/beanie_alert.rb +10 -0
- data/lib/beanie/{contact.rb → bill_of_material.rb} +12 -23
- data/lib/beanie/billable.rb +11 -0
- data/lib/beanie/bom_item.rb +44 -0
- data/lib/beanie/company.rb +27 -0
- data/lib/beanie/company_member.rb +9 -0
- data/lib/beanie/config_type.rb +12 -0
- data/lib/beanie/config_value.rb +8 -0
- data/lib/beanie/customer.rb +18 -1
- data/lib/beanie/customer_address.rb +63 -0
- data/lib/beanie/{contact_address.rb → customer_note.rb} +10 -3
- data/lib/beanie/document.rb +11 -0
- data/lib/beanie/fixed_asset.rb +11 -0
- data/lib/beanie/journal.rb +10 -0
- data/lib/beanie/journal_item.rb +10 -0
- data/lib/beanie/nominal_account.rb +9 -0
- data/lib/beanie/nominal_account_category.rb +9 -0
- data/lib/beanie/product.rb +13 -0
- data/lib/beanie/product_category.rb +9 -0
- data/lib/beanie/product_price.rb +10 -0
- data/lib/beanie/production_order.rb +58 -0
- data/lib/beanie/purchase_invoice.rb +19 -0
- data/lib/beanie/purchase_order.rb +11 -0
- data/lib/beanie/purchase_order_item.rb +13 -0
- data/lib/beanie/sales_invoice.rb +18 -0
- data/lib/beanie/sales_invoice_item.rb +15 -0
- data/lib/beanie/sales_order.rb +13 -0
- data/lib/beanie/sales_order_item.rb +18 -0
- data/lib/beanie/stock_adjustment.rb +13 -0
- data/lib/beanie/stock_category.rb +10 -0
- data/lib/beanie/stock_item.rb +12 -0
- data/lib/beanie/stock_location.rb +8 -0
- data/lib/beanie/stock_supplier.rb +13 -0
- data/lib/beanie/supplier.rb +14 -1
- data/lib/beanie/supplier_address.rb +53 -0
- data/lib/beanie/{contact_note.rb → supplier_note.rb} +10 -2
- data/lib/beanie/tax_registration.rb +9 -0
- data/lib/beanie/vat_record.rb +10 -0
- data/lib/beanie/vat_return.rb +15 -0
- data/lib/beanie/version.rb +1 -1
- data/lib/beanie/work_centre.rb +10 -0
- data/lib/beanie/work_centre_group.rb +10 -4
- data/lib/beanie.rb +23 -26
- metadata +24 -6
@@ -30,5 +30,14 @@
|
|
30
30
|
module Beanie
|
31
31
|
class ProductCategory < Api
|
32
32
|
attr_accessor :id, :description, :name, :parent_category_id
|
33
|
+
|
34
|
+
#
|
35
|
+
# Initialize instance variables
|
36
|
+
def initialize
|
37
|
+
@id = nil
|
38
|
+
@description = nil
|
39
|
+
@name = nil
|
40
|
+
@parent_category_id = nil
|
41
|
+
end
|
33
42
|
end
|
34
43
|
end
|
data/lib/beanie/product_price.rb
CHANGED
@@ -30,5 +30,15 @@
|
|
30
30
|
module Beanie
|
31
31
|
class ProductPrice < Api
|
32
32
|
attr_accessor :id, :amount, :effective, :sales_tax_id, :product_id
|
33
|
+
|
34
|
+
#
|
35
|
+
# Initialize instance variables
|
36
|
+
def initialize
|
37
|
+
@id = nil
|
38
|
+
@amount = nil
|
39
|
+
@effective = nil
|
40
|
+
@sales_tax_id = nil
|
41
|
+
@product_id = nil
|
42
|
+
end
|
33
43
|
end
|
34
44
|
end
|
@@ -0,0 +1,58 @@
|
|
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 ProductionOrder < Api
|
32
|
+
attr_accessor :id, :number, :state, :quantity, :notes, :provisioning
|
33
|
+
attr_accessor :sales_order_id, :bill_of_material_id, :work_centre_group_id
|
34
|
+
|
35
|
+
#
|
36
|
+
# Initialize instance variables
|
37
|
+
def initialize
|
38
|
+
@id = nil
|
39
|
+
@number = nil
|
40
|
+
@state = nil
|
41
|
+
@quantity = nil
|
42
|
+
@notes = nil
|
43
|
+
@provisioning = nil
|
44
|
+
@sales_order_id = nil
|
45
|
+
@bill_of_material_id = nil
|
46
|
+
@work_centre_group_id = nil
|
47
|
+
end
|
48
|
+
|
49
|
+
#
|
50
|
+
# Construct the path a little differently...
|
51
|
+
def construct_path(opts = {})
|
52
|
+
raise ":work_centre_group_id is not defined" unless opts[:work_centre_group_id]
|
53
|
+
path = "/work_centre_groups/#{opts[:work_centre_group_id]}/production_orders"
|
54
|
+
opts.delete(:work_centre_group_id)
|
55
|
+
path
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -32,5 +32,24 @@ module Beanie
|
|
32
32
|
attr_accessor :id, :date, :due_date, :is_credit_note, :is_paid, :local_gross, :number
|
33
33
|
attr_accessor :original_invoice_id, :shipping, :sub_total, :tax, :tax_point
|
34
34
|
attr_accessor :purchase_order_id, :document_id
|
35
|
+
|
36
|
+
#
|
37
|
+
# Initialize instance variables
|
38
|
+
def initialize
|
39
|
+
@id = nil
|
40
|
+
@date = nil
|
41
|
+
@due_date = nil
|
42
|
+
@is_credit_note = nil
|
43
|
+
@is_paid = nil
|
44
|
+
@local_gross = nil
|
45
|
+
@number = nil
|
46
|
+
@original_invoice_id = nil
|
47
|
+
@shipping = nil
|
48
|
+
@sub_total = nil
|
49
|
+
@tax = nil
|
50
|
+
@tax_point = nil
|
51
|
+
@purchase_order_id = nil
|
52
|
+
@document_id = nil
|
53
|
+
end
|
35
54
|
end
|
36
55
|
end
|
@@ -31,5 +31,16 @@ module Beanie
|
|
31
31
|
class PurchaseOrder < Api
|
32
32
|
attr_accessor :id, :date, :number, :title
|
33
33
|
attr_accessor :currency, :supplier_id
|
34
|
+
|
35
|
+
#
|
36
|
+
# Initialize instance variables
|
37
|
+
def initialize
|
38
|
+
@id = nil
|
39
|
+
@date = nil
|
40
|
+
@number = nil
|
41
|
+
@title = nil
|
42
|
+
@currency = nil
|
43
|
+
@supplier_id = nil
|
44
|
+
end
|
34
45
|
end
|
35
46
|
end
|
@@ -43,5 +43,18 @@ module Beanie
|
|
43
43
|
["Back-Order", STATE_BACKORDER],
|
44
44
|
["Item Complete", STATE_COMPLETE]
|
45
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
|
46
59
|
end
|
47
60
|
end
|
data/lib/beanie/sales_invoice.rb
CHANGED
@@ -55,6 +55,24 @@ module Beanie
|
|
55
55
|
["Overdue (Over 90 days)", STATE_OVERDUE4],
|
56
56
|
["Overdue (Over 120 days)", STATE_OVERDUE5]
|
57
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
|
58
76
|
|
59
77
|
#
|
60
78
|
# Show the state in a useful format
|
@@ -31,5 +31,20 @@ module Beanie
|
|
31
31
|
class SalesInvoiceItem < Api
|
32
32
|
attr_accessor :id, :description, :discount, :quantity, :run_date, :run_length, :unit_cost
|
33
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
|
34
49
|
end
|
35
50
|
end
|
data/lib/beanie/sales_order.rb
CHANGED
@@ -30,5 +30,18 @@
|
|
30
30
|
module Beanie
|
31
31
|
class SalesOrder < Api
|
32
32
|
attr_accessor :id, :cash_customer_ref, :number, :date, :title, :your_ref, :currency, :customer_id
|
33
|
+
|
34
|
+
#
|
35
|
+
# Initialize instance variables
|
36
|
+
def initialize
|
37
|
+
@id = nil
|
38
|
+
@cash_customer_ref = nil
|
39
|
+
@number = nil
|
40
|
+
@date = nil
|
41
|
+
@title = nil
|
42
|
+
@your_ref = nil
|
43
|
+
@currency = nil
|
44
|
+
@customer_id = nil
|
45
|
+
end
|
33
46
|
end
|
34
47
|
end
|
@@ -75,6 +75,24 @@ module Beanie
|
|
75
75
|
["Quarterly Rate", SERVICE_PERIOD_QUARTERLY],
|
76
76
|
["Annual Rate", SERVICE_PERIOD_ANNUALLY]
|
77
77
|
].freeze
|
78
|
+
|
79
|
+
#
|
80
|
+
# Initialize instance variables
|
81
|
+
def initialize
|
82
|
+
@id = nil
|
83
|
+
@completion = nil
|
84
|
+
@description = nil
|
85
|
+
@discount = nil
|
86
|
+
@frequency = nil
|
87
|
+
@quantity = nil
|
88
|
+
@rundate = nil
|
89
|
+
@state = nil
|
90
|
+
@sales_order_id = nil
|
91
|
+
@product_id = nil
|
92
|
+
@service_period = nil
|
93
|
+
@unit_cost = nil
|
94
|
+
@sales_tax = nil
|
95
|
+
end
|
78
96
|
|
79
97
|
#
|
80
98
|
# Pretty name for the state
|
@@ -47,6 +47,19 @@ module Beanie
|
|
47
47
|
["Move from Inventory", TYPE_FROM_INVENTORY],
|
48
48
|
["Spoilage", TYPE_SPOILAGE]
|
49
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
|
50
63
|
|
51
64
|
#
|
52
65
|
# Convert the type into a useful name
|
@@ -30,5 +30,15 @@
|
|
30
30
|
module Beanie
|
31
31
|
class StockCategory < Api
|
32
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
|
33
43
|
end
|
34
44
|
end
|
data/lib/beanie/stock_item.rb
CHANGED
@@ -42,5 +42,17 @@ module Beanie
|
|
42
42
|
["Work In Progress", TYPE_WORK_IN_PROGRESS],
|
43
43
|
["Finished Goods", TYPE_FINISHED_GOODS]
|
44
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
|
45
57
|
end
|
46
58
|
end
|
@@ -31,5 +31,18 @@ module Beanie
|
|
31
31
|
class StockSupplier < Api
|
32
32
|
attr_accessor :id, :priority, :supplier_partno, :lot_size, :lead_time, :last_price
|
33
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
|
34
47
|
end
|
35
48
|
end
|
data/lib/beanie/supplier.rb
CHANGED
@@ -30,6 +30,19 @@
|
|
30
30
|
module Beanie
|
31
31
|
class Supplier < Api
|
32
32
|
attr_accessor :id, :balance, :state, :supplier_vat, :terms, :lead_time, :minimum_order_amount
|
33
|
-
attr_accessor :
|
33
|
+
attr_accessor :currency
|
34
|
+
|
35
|
+
#
|
36
|
+
# Initialize instance variables
|
37
|
+
def initialize
|
38
|
+
@id = nil
|
39
|
+
@balance = nil
|
40
|
+
@state = nil
|
41
|
+
@supplier_vat = nil
|
42
|
+
@terms = nil
|
43
|
+
@lead_time = nil
|
44
|
+
@minimum_order_amount = nil
|
45
|
+
@currency = nil
|
46
|
+
end
|
34
47
|
end
|
35
48
|
end
|
@@ -0,0 +1,53 @@
|
|
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 SupplierAddress < Api
|
32
|
+
attr_accessor :id, :label, :name, :address1, :address2, :address3, :city
|
33
|
+
attr_accessor :state_county, :zip_postcode, :country, :email, :phone, :website
|
34
|
+
|
35
|
+
#
|
36
|
+
# Initialize instance variables
|
37
|
+
def initialize
|
38
|
+
@id = nil
|
39
|
+
@label = nil
|
40
|
+
@name = nil
|
41
|
+
@address1 = nil
|
42
|
+
@address2 = nil
|
43
|
+
@address3 = nil
|
44
|
+
@city = nil
|
45
|
+
@state_county = nil
|
46
|
+
@zip_postcode = nil
|
47
|
+
@country = nil
|
48
|
+
@email = nil
|
49
|
+
@phone = nil
|
50
|
+
@website = nil
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -28,7 +28,15 @@
|
|
28
28
|
# POSSIBILITY OF SUCH DAMAGE.
|
29
29
|
#
|
30
30
|
module Beanie
|
31
|
-
class
|
32
|
-
attr_accessor :id, :
|
31
|
+
class SupplierNote < Api
|
32
|
+
attr_accessor :id, :member, :note
|
33
|
+
|
34
|
+
#
|
35
|
+
# Initialize instance variables
|
36
|
+
def initialize
|
37
|
+
@id = nil
|
38
|
+
@member = nil
|
39
|
+
@note = nil
|
40
|
+
end
|
33
41
|
end
|
34
42
|
end
|
@@ -40,6 +40,15 @@ module Beanie
|
|
40
40
|
["VAT", TAX_TYPE_SALES],
|
41
41
|
["PAYE", TAX_TYPE_PAYROLL]
|
42
42
|
].freeze
|
43
|
+
|
44
|
+
#
|
45
|
+
# Initialize instance variables
|
46
|
+
def initialize
|
47
|
+
@id = nil
|
48
|
+
@tax_type = nil
|
49
|
+
@number = nil
|
50
|
+
@nominal_account_id = nil
|
51
|
+
end
|
43
52
|
|
44
53
|
#
|
45
54
|
# Tax Type as a name
|
data/lib/beanie/vat_record.rb
CHANGED
@@ -46,6 +46,16 @@ module Beanie
|
|
46
46
|
["Services From", TYPE_SERVICES_FROM],
|
47
47
|
["Services To", TYPE_SERVICES_TO]
|
48
48
|
].freeze
|
49
|
+
|
50
|
+
#
|
51
|
+
# Initialize instance variables
|
52
|
+
def initialize
|
53
|
+
@id = nil
|
54
|
+
@amount = nil
|
55
|
+
@record_type = nil
|
56
|
+
@vat_return_id = nil
|
57
|
+
@sales_tax_rate = nil
|
58
|
+
end
|
49
59
|
|
50
60
|
#
|
51
61
|
# Conver the record type into a string
|
data/lib/beanie/vat_return.rb
CHANGED
@@ -41,5 +41,20 @@ module Beanie
|
|
41
41
|
["Supplementary Return", RETURN_TYPE_SUPPLEMENTARY],
|
42
42
|
["Amended Return", RETURN_TYPE_AMENDED]
|
43
43
|
].freeze
|
44
|
+
|
45
|
+
#
|
46
|
+
# Initialize instance variables
|
47
|
+
def initialize
|
48
|
+
@id = nil
|
49
|
+
@start_date = nil
|
50
|
+
@end_date = nil
|
51
|
+
@return_type = nil
|
52
|
+
@purchase = nil
|
53
|
+
@sales = nil
|
54
|
+
@goods_from = nil
|
55
|
+
@goods_to = nil
|
56
|
+
@services_from = nil
|
57
|
+
@services_to = nil
|
58
|
+
end
|
44
59
|
end
|
45
60
|
end
|
data/lib/beanie/version.rb
CHANGED
data/lib/beanie/work_centre.rb
CHANGED
@@ -31,6 +31,16 @@ module Beanie
|
|
31
31
|
class WorkCentre < Api
|
32
32
|
attr_accessor :id, :name, :location, :description, :work_centre_group_id
|
33
33
|
|
34
|
+
#
|
35
|
+
# Initialize instance variables
|
36
|
+
def initialize
|
37
|
+
@id = nil
|
38
|
+
@name = nil
|
39
|
+
@location = nil
|
40
|
+
@description = nil
|
41
|
+
@work_centre_group_id = nil
|
42
|
+
end
|
43
|
+
|
34
44
|
#
|
35
45
|
# Find all work centres under a specific work centre group
|
36
46
|
def self.find_all_by_group(work_centre_group_id)
|
@@ -31,14 +31,20 @@ module Beanie
|
|
31
31
|
class WorkCentreGroup < Api
|
32
32
|
attr_accessor :id, :code, :name, :description
|
33
33
|
|
34
|
+
#
|
35
|
+
# Initialize instance variables
|
36
|
+
def initialize
|
37
|
+
@id = nil
|
38
|
+
@code = nil
|
39
|
+
@name = nil
|
40
|
+
@description = nil
|
41
|
+
end
|
42
|
+
|
34
43
|
#
|
35
44
|
# Find a work centre group by code
|
36
45
|
def self.find_by_code(code)
|
37
46
|
data = self.get(:code => code)
|
38
|
-
|
39
|
-
wcg = new
|
40
|
-
wcg.populate(wcg_data, :id, :code, :name, :description)
|
41
|
-
wcg
|
47
|
+
new.populate(data['work_centre_group'])
|
42
48
|
end
|
43
49
|
end
|
44
50
|
end
|
data/lib/beanie.rb
CHANGED
@@ -35,50 +35,53 @@ require 'rest-client'
|
|
35
35
|
require 'json'
|
36
36
|
|
37
37
|
require File.dirname(__FILE__) + '/beanie/api'
|
38
|
+
require File.dirname(__FILE__) + '/beanie/version'
|
39
|
+
require File.dirname(__FILE__) + '/beanie/company'
|
40
|
+
require File.dirname(__FILE__) + '/beanie/company_member'
|
38
41
|
require File.dirname(__FILE__) + '/beanie/bank_account'
|
39
|
-
require File.dirname(__FILE__) + '/beanie/bank_statement_data'
|
40
42
|
require File.dirname(__FILE__) + '/beanie/bank_statement'
|
43
|
+
require File.dirname(__FILE__) + '/beanie/bank_statement_data'
|
41
44
|
require File.dirname(__FILE__) + '/beanie/beanie_alert'
|
42
45
|
require File.dirname(__FILE__) + '/beanie/billable'
|
43
|
-
require File.dirname(__FILE__) + '/beanie/
|
44
|
-
require File.dirname(__FILE__) + '/beanie/
|
46
|
+
require File.dirname(__FILE__) + '/beanie/bill_of_material'
|
47
|
+
require File.dirname(__FILE__) + '/beanie/bom_item'
|
45
48
|
require File.dirname(__FILE__) + '/beanie/config_type'
|
46
49
|
require File.dirname(__FILE__) + '/beanie/config_value'
|
47
|
-
require File.dirname(__FILE__) + '/beanie/contact_address'
|
48
|
-
require File.dirname(__FILE__) + '/beanie/contact_note'
|
49
|
-
require File.dirname(__FILE__) + '/beanie/contact'
|
50
50
|
require File.dirname(__FILE__) + '/beanie/customer'
|
51
|
+
require File.dirname(__FILE__) + '/beanie/customer_address'
|
52
|
+
require File.dirname(__FILE__) + '/beanie/customer_note'
|
51
53
|
require File.dirname(__FILE__) + '/beanie/document'
|
52
54
|
require File.dirname(__FILE__) + '/beanie/fixed_asset'
|
53
|
-
require File.dirname(__FILE__) + '/beanie/journal_item'
|
54
55
|
require File.dirname(__FILE__) + '/beanie/journal'
|
56
|
+
require File.dirname(__FILE__) + '/beanie/journal_item'
|
55
57
|
require File.dirname(__FILE__) + '/beanie/nominal_account_category'
|
56
58
|
require File.dirname(__FILE__) + '/beanie/nominal_account'
|
57
59
|
require File.dirname(__FILE__) + '/beanie/product_category'
|
58
|
-
require File.dirname(__FILE__) + '/beanie/product_price'
|
59
60
|
require File.dirname(__FILE__) + '/beanie/product'
|
61
|
+
require File.dirname(__FILE__) + '/beanie/product_price'
|
62
|
+
require File.dirname(__FILE__) + '/beanie/work_centre_group'
|
63
|
+
require File.dirname(__FILE__) + '/beanie/work_centre'
|
64
|
+
require File.dirname(__FILE__) + '/beanie/production_order'
|
60
65
|
require File.dirname(__FILE__) + '/beanie/purchase_invoice'
|
61
|
-
require File.dirname(__FILE__) + '/beanie/purchase_order_item'
|
62
66
|
require File.dirname(__FILE__) + '/beanie/purchase_order'
|
63
|
-
require File.dirname(__FILE__) + '/beanie/
|
67
|
+
require File.dirname(__FILE__) + '/beanie/purchase_order_item'
|
64
68
|
require File.dirname(__FILE__) + '/beanie/sales_invoice'
|
65
|
-
require File.dirname(__FILE__) + '/beanie/
|
69
|
+
require File.dirname(__FILE__) + '/beanie/sales_invoice_item'
|
66
70
|
require File.dirname(__FILE__) + '/beanie/sales_order'
|
67
|
-
require File.dirname(__FILE__) + '/beanie/
|
71
|
+
require File.dirname(__FILE__) + '/beanie/sales_order_item'
|
72
|
+
require File.dirname(__FILE__) + '/beanie/stock_location'
|
68
73
|
require File.dirname(__FILE__) + '/beanie/stock_category'
|
69
74
|
require File.dirname(__FILE__) + '/beanie/stock_item'
|
70
|
-
require File.dirname(__FILE__) + '/beanie/
|
75
|
+
require File.dirname(__FILE__) + '/beanie/stock_adjustment'
|
71
76
|
require File.dirname(__FILE__) + '/beanie/stock_supplier'
|
72
77
|
require File.dirname(__FILE__) + '/beanie/supplier'
|
78
|
+
require File.dirname(__FILE__) + '/beanie/supplier_address'
|
79
|
+
require File.dirname(__FILE__) + '/beanie/supplier_note'
|
73
80
|
require File.dirname(__FILE__) + '/beanie/tax_registration'
|
74
81
|
require File.dirname(__FILE__) + '/beanie/vat_record'
|
75
82
|
require File.dirname(__FILE__) + '/beanie/vat_return'
|
76
|
-
require File.dirname(__FILE__) + '/beanie/version'
|
77
|
-
require File.dirname(__FILE__) + '/beanie/work_centre_group'
|
78
|
-
require File.dirname(__FILE__) + '/beanie/work_centre'
|
79
83
|
|
80
84
|
module Beanie
|
81
|
-
@@base_uri = 'https://bean.ie'
|
82
85
|
@@token = nil
|
83
86
|
|
84
87
|
class << self
|
@@ -90,11 +93,9 @@ module Beanie
|
|
90
93
|
end
|
91
94
|
|
92
95
|
def self.connect(opts = {})
|
96
|
+
@base_uri = opts[:base_uri] ? opts[:base_uri] : 'https://bean.ie'
|
93
97
|
@api_key = opts[:api_key] if opts[:api_key]
|
94
98
|
@secret_key = opts[:secret_key] if opts[:secret_key]
|
95
|
-
p opts
|
96
|
-
puts "API KEY: #{@api_key}"
|
97
|
-
puts "SECRET: #{@secret_key}"
|
98
99
|
end
|
99
100
|
|
100
101
|
def self.get_token
|
@@ -109,7 +110,7 @@ module Beanie
|
|
109
110
|
'See https://bean.ie/en/apikey for details or email support@bean.ie ' \
|
110
111
|
'for further assistance.')
|
111
112
|
end
|
112
|
-
url = "#{
|
113
|
+
url = "#{@base_uri}/api/authenticate"
|
113
114
|
data = {:api_key => @api_key, :secret_key => @secret_key}
|
114
115
|
response = RestClient.post(url, data.to_json, :content_type => :json, :accept => :json)
|
115
116
|
puts "Token response: #{response.code} (data: #{response.body})"
|
@@ -121,10 +122,6 @@ module Beanie
|
|
121
122
|
end
|
122
123
|
|
123
124
|
def self.base_uri
|
124
|
-
|
125
|
-
end
|
126
|
-
|
127
|
-
def self.base_uri=(uri)
|
128
|
-
@@base_uri = uri
|
125
|
+
@base_uri
|
129
126
|
end
|
130
127
|
end
|