beanie 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/beanie/api.rb +4 -0
- data/lib/beanie/production_order.rb +15 -2
- data/lib/beanie/sales_order.rb +28 -1
- data/lib/beanie/sales_order_item.rb +15 -25
- data/lib/beanie/version.rb +1 -1
- data/lib/beanie/work_centre.rb +14 -19
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9ccfc1c2ca04c30f1c0620c72a98fd899dcf146d
|
4
|
+
data.tar.gz: 045a4d591a51a1c08a99e292ac1e61fe00575b15
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 57ac8e1f6aa13fa5850fecd543f19ab712f0c27a683beddda7b654a50ea6d5831746c9d99ec1c0ac8ded10cd5029c8de5ff4b9864404f87aa19935be74047231
|
7
|
+
data.tar.gz: 9cbcf5d7813c39f3a0841e8ac1765b347be416157572f8abcb4a1b238e15ecddd372053a0f059fecb4d6e9804dd7642184846c1190a38fd23f65cce238b8d70f
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/lib/beanie/api.rb
CHANGED
@@ -29,7 +29,7 @@
|
|
29
29
|
#
|
30
30
|
module Beanie
|
31
31
|
class ProductionOrder < Api
|
32
|
-
attr_accessor :id, :number, :state, :quantity, :notes
|
32
|
+
attr_accessor :id, :number, :state, :quantity, :notes
|
33
33
|
attr_accessor :sales_order_id, :bill_of_material_id, :work_centre_group_id
|
34
34
|
|
35
35
|
#
|
@@ -40,12 +40,25 @@ module Beanie
|
|
40
40
|
@state = nil
|
41
41
|
@quantity = nil
|
42
42
|
@notes = nil
|
43
|
-
@provisioning = nil
|
44
43
|
@sales_order_id = nil
|
45
44
|
@bill_of_material_id = nil
|
46
45
|
@work_centre_group_id = nil
|
47
46
|
end
|
48
47
|
|
48
|
+
#
|
49
|
+
# Get the private data
|
50
|
+
def private_data
|
51
|
+
response = ProductionOrder.get(:url => "/production_orders/#{@id}/private_data")
|
52
|
+
response["data"]
|
53
|
+
end
|
54
|
+
|
55
|
+
#
|
56
|
+
# Update/set the private data
|
57
|
+
def private_data=(data)
|
58
|
+
pdata = {:data => data}
|
59
|
+
response = ProductionOrder.post(pdata, :url => "/production_orders/#{@id}/private_data")
|
60
|
+
end
|
61
|
+
|
49
62
|
#
|
50
63
|
# Construct the path a little differently...
|
51
64
|
def construct_path(opts = {})
|
data/lib/beanie/sales_order.rb
CHANGED
@@ -29,7 +29,24 @@
|
|
29
29
|
#
|
30
30
|
module Beanie
|
31
31
|
class SalesOrder < Api
|
32
|
-
attr_accessor :id, :cash_customer_ref, :number, :date, :title, :
|
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
|
33
50
|
|
34
51
|
#
|
35
52
|
# Initialize instance variables
|
@@ -39,9 +56,19 @@ module Beanie
|
|
39
56
|
@number = nil
|
40
57
|
@date = nil
|
41
58
|
@title = nil
|
59
|
+
@billing_frequency = BILL_FREQUENCY_DAILY
|
42
60
|
@your_ref = nil
|
43
61
|
@currency = nil
|
44
62
|
@customer_id = nil
|
45
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
|
46
73
|
end
|
47
74
|
end
|
@@ -29,7 +29,7 @@
|
|
29
29
|
#
|
30
30
|
module Beanie
|
31
31
|
class SalesOrderItem < Api
|
32
|
-
attr_accessor :id, :completion, :description, :discount, :
|
32
|
+
attr_accessor :id, :completion, :description, :discount, :quantity, :rundate, :state
|
33
33
|
attr_accessor :sales_order_id, :product_id, :service_period, :unit_cost, :sales_tax
|
34
34
|
|
35
35
|
STATE_NEW = 0
|
@@ -44,20 +44,6 @@ module Beanie
|
|
44
44
|
["Blocked", STATE_BLOCKED]
|
45
45
|
].freeze
|
46
46
|
|
47
|
-
BILL_FREQUENCY_IMMEDIATE = 0
|
48
|
-
BILL_FREQUENCY_WEEKLY = 1
|
49
|
-
BILL_FREQUENCY_MONTHLY = 2
|
50
|
-
BILL_FREQUENCY_QUARTERLY = 3
|
51
|
-
BILL_FREQUENCY_ANNUALLY = 4
|
52
|
-
|
53
|
-
BILL_FREQUENCY_NAMES = [
|
54
|
-
["Immediate", BILL_FREQUENCY_IMMEDIATE],
|
55
|
-
["Weekly", BILL_FREQUENCY_WEEKLY],
|
56
|
-
["Monthly", BILL_FREQUENCY_MONTHLY],
|
57
|
-
["Quarterly", BILL_FREQUENCY_QUARTERLY],
|
58
|
-
["Yearly", BILL_FREQUENCY_ANNUALLY]
|
59
|
-
].freeze
|
60
|
-
|
61
47
|
SERVICE_PERIOD_ONEOFF = 0
|
62
48
|
SERVICE_PERIOD_HOURLY = 1
|
63
49
|
SERVICE_PERIOD_DAILY = 2
|
@@ -83,7 +69,6 @@ module Beanie
|
|
83
69
|
@completion = nil
|
84
70
|
@description = nil
|
85
71
|
@discount = nil
|
86
|
-
@frequency = nil
|
87
72
|
@quantity = nil
|
88
73
|
@rundate = nil
|
89
74
|
@state = nil
|
@@ -100,15 +85,6 @@ module Beanie
|
|
100
85
|
STATE_NAMES[state][0]
|
101
86
|
end
|
102
87
|
|
103
|
-
#
|
104
|
-
# Pretty name for the frequency
|
105
|
-
def frequency_name
|
106
|
-
BILL_FREQUENCY_NAMES.each do |fn|
|
107
|
-
return fn[0] if fn[1] == self.frequency
|
108
|
-
end
|
109
|
-
return "Unknown?"
|
110
|
-
end
|
111
|
-
|
112
88
|
#
|
113
89
|
# Service period name
|
114
90
|
def period_name
|
@@ -132,5 +108,19 @@ module Beanie
|
|
132
108
|
def one_off?
|
133
109
|
self.service_period == SERVICE_PERIOD_ONEOFF
|
134
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
|
135
125
|
end
|
136
126
|
end
|
data/lib/beanie/version.rb
CHANGED
data/lib/beanie/work_centre.rb
CHANGED
@@ -42,31 +42,26 @@ module Beanie
|
|
42
42
|
end
|
43
43
|
|
44
44
|
#
|
45
|
-
#
|
46
|
-
def
|
47
|
-
|
48
|
-
data
|
49
|
-
data['work_centres'].each do |wc_data|
|
50
|
-
wc = new
|
51
|
-
wc.populate(wc_data, :id, :name, :location, :description)
|
52
|
-
all << wc
|
53
|
-
end
|
54
|
-
all
|
45
|
+
# Get the private data
|
46
|
+
def private_data
|
47
|
+
response = WorkCentre.get(:url => "/work_centres/#{@id}/private_data")
|
48
|
+
response["data"]
|
55
49
|
end
|
56
50
|
|
57
51
|
#
|
58
|
-
#
|
59
|
-
def
|
60
|
-
|
61
|
-
response
|
52
|
+
# Update/set the private data
|
53
|
+
def private_data=(data)
|
54
|
+
pdata = {:data => data}
|
55
|
+
response = WorkCentre.post(pdata, :url => "/work_centres/#{@id}/private_data")
|
62
56
|
end
|
63
57
|
|
64
58
|
#
|
65
|
-
#
|
66
|
-
def
|
67
|
-
|
68
|
-
|
69
|
-
|
59
|
+
# Construct the path a little differently...
|
60
|
+
def construct_path(opts = {})
|
61
|
+
raise ":work_centre_group_id is not defined" unless opts[:work_centre_group_id]
|
62
|
+
path = "/work_centre_groups/#{opts[:work_centre_group_id]}/work_centres"
|
63
|
+
opts.delete(:work_centre_group_id)
|
64
|
+
path
|
70
65
|
end
|
71
66
|
end
|
72
67
|
end
|