sk_calc 0.0.2 → 0.0.3
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.
- data/VERSION +1 -1
- data/lib/sk_calc/item.rb +53 -0
- data/lib/sk_calc/items.rb +23 -8
- data/lib/sk_calc/version.rb +1 -1
- data/sk_calc.gemspec +1 -1
- data/spec/sk_calc/item_spec.rb +4 -0
- metadata +4 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.3
|
data/lib/sk_calc/item.rb
CHANGED
@@ -150,6 +150,59 @@ module SK::Calc::Item
|
|
150
150
|
gross_single_base.round(2)
|
151
151
|
end
|
152
152
|
|
153
|
+
############################################
|
154
|
+
### DISPLAY VALUES 4
|
155
|
+
############################################
|
156
|
+
### These values are used only to display to a user.
|
157
|
+
### Use values under BASE VALUES section
|
158
|
+
### for calculations!
|
159
|
+
|
160
|
+
# Total gross price incl. discount
|
161
|
+
# ==== Returns
|
162
|
+
# <BigDecimal>:: rounded 2 decimals
|
163
|
+
def gross_total_4
|
164
|
+
gross_total_base.round(4)
|
165
|
+
end
|
166
|
+
|
167
|
+
# Total net price(2 decimals) incl. discount
|
168
|
+
# ==== Returns
|
169
|
+
# <BigDecimal>:: rounded 2 decimals
|
170
|
+
def net_total_4
|
171
|
+
net_total_base.round(4)
|
172
|
+
end
|
173
|
+
|
174
|
+
|
175
|
+
# ==== Returns
|
176
|
+
# <BigDecimal>:: rounded 2 decimals
|
177
|
+
def tax_total_4
|
178
|
+
tax_total_base.round(4)
|
179
|
+
end
|
180
|
+
|
181
|
+
# The discount amount
|
182
|
+
# ==== Returns
|
183
|
+
# <BigDecimal>:: rounded 2 decimals
|
184
|
+
def discount_total_4
|
185
|
+
discount_total_base.round(4)
|
186
|
+
end
|
187
|
+
|
188
|
+
|
189
|
+
# Single net price with discount applied rounded 2.
|
190
|
+
# DO NOT use this method to calculate(eg. totals for a document) use net_total
|
191
|
+
# or gross_total instead
|
192
|
+
# ==== Returns
|
193
|
+
# <BigDecimal>:: rounded 2 decimals
|
194
|
+
def net_single_4
|
195
|
+
net_single_base.round(4)
|
196
|
+
end
|
197
|
+
|
198
|
+
# Single gross price rounded 2.
|
199
|
+
# DONT use this method to calculate(eg. totals for a document) use net_total
|
200
|
+
# or gross_total instead
|
201
|
+
# ==== Returns
|
202
|
+
# <BigDecimal>:: rounded 2 decimals
|
203
|
+
def gross_single_4
|
204
|
+
gross_single_base.round(4)
|
205
|
+
end
|
153
206
|
|
154
207
|
private
|
155
208
|
|
data/lib/sk_calc/items.rb
CHANGED
@@ -6,10 +6,16 @@
|
|
6
6
|
# - line_items
|
7
7
|
module SK::Calc::Items
|
8
8
|
include SK::Calc::Helper
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
|
10
|
+
# Unrounded net total so one can see the base sum of the line items before
|
11
|
+
# rounding
|
12
|
+
def net_total_base
|
13
|
+
conv_price_total
|
14
|
+
end
|
15
|
+
|
16
|
+
# Gross total
|
17
|
+
def gross_total_base
|
18
|
+
(net_total_base || 0) + conv_tax
|
13
19
|
end
|
14
20
|
|
15
21
|
# Net total rounded to 2 decimals, the taxation base
|
@@ -17,10 +23,9 @@ module SK::Calc::Items
|
|
17
23
|
net_total_base.round(2)
|
18
24
|
end
|
19
25
|
|
20
|
-
#
|
21
|
-
|
22
|
-
|
23
|
-
conv_price_total
|
26
|
+
# Gross total rounded to 2 decimals
|
27
|
+
def gross_total
|
28
|
+
gross_total_base.round(2)
|
24
29
|
end
|
25
30
|
|
26
31
|
# Rounded price_tax to 2 decimals
|
@@ -28,6 +33,16 @@ module SK::Calc::Items
|
|
28
33
|
conv_tax.round(2)
|
29
34
|
end
|
30
35
|
|
36
|
+
# Net total rounded to 2 decimals, the taxation base
|
37
|
+
def net_total_4
|
38
|
+
net_total_base.round(4)
|
39
|
+
end
|
40
|
+
|
41
|
+
# Rounded price_tax to 2 decimals
|
42
|
+
def tax_total_4
|
43
|
+
conv_tax.round(4)
|
44
|
+
end
|
45
|
+
|
31
46
|
# Save items sums of net total and summed taxes into the price_total,
|
32
47
|
# tax_total
|
33
48
|
def sum_items(items=nil)
|
data/lib/sk_calc/version.rb
CHANGED
data/sk_calc.gemspec
CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.version = SK::Calc::VERSION
|
8
8
|
|
9
9
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
10
|
-
s.authors = ["Georg Leciejewski"]
|
10
|
+
s.authors = ["Georg Leciejewski", "Mike Połtyn"]
|
11
11
|
s.date = %q{2012-02-15}
|
12
12
|
s.description = %q{Calculate document and line item totals. This moule is used inside SalesKIng and outsourced for transparency and reusability.}
|
13
13
|
s.email = %q{gl@salesking.eu}
|
data/spec/sk_calc/item_spec.rb
CHANGED
metadata
CHANGED
@@ -1,16 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sk_calc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Georg Leciejewski
|
14
|
+
- "Mike Po\xC5\x82tyn"
|
14
15
|
autorequire:
|
15
16
|
bindir: bin
|
16
17
|
cert_chain: []
|