stick 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +7 -0
- data/COPYING +344 -0
- data/README +110 -0
- data/lib/stick/constants.rb +3 -0
- data/lib/stick/constants/cgs.rb +151 -0
- data/lib/stick/constants/mks.rb +158 -0
- data/lib/stick/constants/number.rb +33 -0
- data/lib/stick/constants/typeless_cgs.rb +141 -0
- data/lib/stick/constants/typeless_mks.rb +142 -0
- data/lib/stick/currency.rb +8 -0
- data/lib/stick/mapcar.rb +61 -0
- data/lib/stick/matrix.rb +1022 -0
- data/lib/stick/quaternion.rb +562 -0
- data/lib/stick/times.rb +441 -0
- data/lib/stick/units.rb +112 -0
- data/lib/stick/units/base.rb +980 -0
- data/lib/stick/units/currency.rb +159 -0
- data/lib/stick/units/data/binary/base.rb +4 -0
- data/lib/stick/units/data/cex.rb +5 -0
- data/lib/stick/units/data/currency-default.rb +5 -0
- data/lib/stick/units/data/currency-standard.rb +2 -0
- data/lib/stick/units/data/currency/base.rb +89 -0
- data/lib/stick/units/data/iec.rb +5 -0
- data/lib/stick/units/data/iec_binary/base.rb +6 -0
- data/lib/stick/units/data/si.rb +7 -0
- data/lib/stick/units/data/si/base.rb +9 -0
- data/lib/stick/units/data/si/derived.rb +26 -0
- data/lib/stick/units/data/si/extra.rb +22 -0
- data/lib/stick/units/data/uk.rb +10 -0
- data/lib/stick/units/data/uk/base.rb +22 -0
- data/lib/stick/units/data/units-default.rb +11 -0
- data/lib/stick/units/data/units-standard.rb +5 -0
- data/lib/stick/units/data/us.rb +10 -0
- data/lib/stick/units/data/us/base.rb +23 -0
- data/lib/stick/units/data/xmethods.rb +5 -0
- data/lib/stick/units/data/xmethods/cached.rb +84 -0
- data/lib/stick/units/data/xmethods/mapping.rb +87 -0
- data/lib/stick/units/loaders.rb +98 -0
- data/lib/stick/units/units.rb +109 -0
- data/meta/MANIFEST +76 -0
- data/meta/ROLLRC +2 -0
- data/meta/icli.yaml +16 -0
- data/meta/project.yaml +18 -0
- data/task/clobber/package +10 -0
- data/task/publish +57 -0
- data/task/release +10 -0
- data/task/setup +1616 -0
- data/task/test +25 -0
- data/test/spec_matrix.rb +342 -0
- data/test/test_currency.rb +26 -0
- data/test/test_matrix.rb +359 -0
- data/test/test_units.rb +205 -0
- data/work/TODO +20 -0
- data/work/bytes.rb +231 -0
- data/work/multipliers.rb +195 -0
- metadata +138 -0
@@ -0,0 +1,84 @@
|
|
1
|
+
{
|
2
|
+
"fim" => 6072.2954,
|
3
|
+
"pln" => 9075.811,
|
4
|
+
"bbd" => 14871.17,
|
5
|
+
"chf" => 23351.135,
|
6
|
+
"dem" => 18459.8,
|
7
|
+
"sit" => 150.701,
|
8
|
+
"usd" => 29742.34,
|
9
|
+
"krw" => 28.5984,
|
10
|
+
"idr" => 2.9668,
|
11
|
+
"mad" => 3289.3904,
|
12
|
+
"qar" => 8168.5044,
|
13
|
+
"all" => 291.3916,
|
14
|
+
"nok" => 4626.3496,
|
15
|
+
"jpy" => 257.5987,
|
16
|
+
"lbp" => 19.7755,
|
17
|
+
"bmd" => 29742.34,
|
18
|
+
"egp" => 5145.7334,
|
19
|
+
"myr" => 7878.1396,
|
20
|
+
"sar" => 7930.2334,
|
21
|
+
"php" => 539.4946,
|
22
|
+
"sgd" => 17614.652,
|
23
|
+
"hrk" => 4885.5645,
|
24
|
+
"ats" => 2623.7969,
|
25
|
+
"mur" => 974.8391,
|
26
|
+
"ars" => 9856.617,
|
27
|
+
"itl" => 18.6463,
|
28
|
+
"pte" => 180.0871,
|
29
|
+
"veb" => 10.3086,
|
30
|
+
"huf" => 143.8129,
|
31
|
+
"kwd" => 101822.45,
|
32
|
+
"aed" => 8097.1196,
|
33
|
+
"iep" => 45842.918,
|
34
|
+
"clp" => 54.3736,
|
35
|
+
"dzd" => 407.6527,
|
36
|
+
"ttd" => 4721.0815,
|
37
|
+
"crc" => 60.6182,
|
38
|
+
"jod" => 41902.42,
|
39
|
+
"nlg" => 16383.385,
|
40
|
+
"skk" => 923.0273,
|
41
|
+
"lkr" => 292.1071,
|
42
|
+
"ron" => 1.0,
|
43
|
+
"mtl" => 84017.91,
|
44
|
+
"cyp" => 62946.754,
|
45
|
+
"bef" => 895.0005,
|
46
|
+
"mxn" => 2727.2039,
|
47
|
+
"luf" => 895.0005,
|
48
|
+
"cad" => 25353.627,
|
49
|
+
"hkd" => 3835.2964,
|
50
|
+
"zar" => 4416.545,
|
51
|
+
"tnd" => 22345.861,
|
52
|
+
"omr" => 77252.83,
|
53
|
+
"xcd" => 11015.681,
|
54
|
+
"jmd" => 464.3612,
|
55
|
+
"rub" => 1046.0316,
|
56
|
+
"thb" => 729.5153,
|
57
|
+
"sek" => 3787.4822,
|
58
|
+
"kes" => 403.5596,
|
59
|
+
"pen" => 8791.706,
|
60
|
+
"czk" => 1214.4043,
|
61
|
+
"dkk" => 4838.1196,
|
62
|
+
"vnd" => 1.8692,
|
63
|
+
"pkr" => 497.5299,
|
64
|
+
"isk" => 492.1784,
|
65
|
+
"bhd" => 78892.15,
|
66
|
+
"bdt" => 452.355,
|
67
|
+
"grd" => 105.9552,
|
68
|
+
"inr" => 660.3539,
|
69
|
+
"esp" => 216.9908,
|
70
|
+
"cny" => 3678.1604,
|
71
|
+
"frf" => 5504.0547,
|
72
|
+
"cop" => 12.9704,
|
73
|
+
"sdd" => 126.1819,
|
74
|
+
"zmk" => 7.0479,
|
75
|
+
"eur" => 36104.23,
|
76
|
+
"ils" => 6415.5176,
|
77
|
+
"dop" => 881.2545,
|
78
|
+
"aud" => 22506.023,
|
79
|
+
"gbp" => 53021.656,
|
80
|
+
"twd" => 882.3264,
|
81
|
+
"eek" => 2307.3428,
|
82
|
+
"nzd" => 21018.906,
|
83
|
+
"brl" => 12985.086
|
84
|
+
}
|
@@ -0,0 +1,87 @@
|
|
1
|
+
{
|
2
|
+
'mapping' => {
|
3
|
+
"fim" => "finland",
|
4
|
+
"pln" => "poland",
|
5
|
+
"bbd" => "barbados",
|
6
|
+
"chf" => "switzerland",
|
7
|
+
"dem" => "germany",
|
8
|
+
"sit" => "slovenia",
|
9
|
+
"usd" => "united states",
|
10
|
+
"krw" => "korea",
|
11
|
+
"idr" => "indonesia",
|
12
|
+
"mad" => "morocco",
|
13
|
+
"qar" => "qatar",
|
14
|
+
"all" => "albania",
|
15
|
+
"nok" => "norway",
|
16
|
+
"jpy" => "japan",
|
17
|
+
"lbp" => "lebanon",
|
18
|
+
"bmd" => "bermuda",
|
19
|
+
"egp" => "egypt",
|
20
|
+
"myr" => "malaysia",
|
21
|
+
"sar" => "saudi arabia",
|
22
|
+
"php" => "philippines",
|
23
|
+
"sgd" => "singapore",
|
24
|
+
"hrk" => "croatia",
|
25
|
+
"ats" => "austria",
|
26
|
+
"mur" => "mauritius",
|
27
|
+
"ars" => "argentina",
|
28
|
+
"itl" => "italy",
|
29
|
+
"pte" => "portugal",
|
30
|
+
"veb" => "venezuela",
|
31
|
+
"huf" => "hungary",
|
32
|
+
"kwd" => "kuwait",
|
33
|
+
"aed" => "united arib emirates",
|
34
|
+
"iep" => "ireland",
|
35
|
+
"clp" => "chile",
|
36
|
+
"dzd" => "algeria",
|
37
|
+
"ttd" => "trinidad",
|
38
|
+
"crc" => "costa rica",
|
39
|
+
"jod" => "jordan",
|
40
|
+
"nlg" => "netherlands",
|
41
|
+
"lkr" => "sri lanka",
|
42
|
+
"skk" => "slovakia",
|
43
|
+
"ron" => "romania",
|
44
|
+
"mtl" => "malta",
|
45
|
+
"cyp" => "cyprus",
|
46
|
+
"bef" => "belgium",
|
47
|
+
"mxn" => "mexico",
|
48
|
+
"luf" => "luxembourg",
|
49
|
+
"cad" => "canada",
|
50
|
+
"hkd" => "hong kong",
|
51
|
+
"zar" => "south africa",
|
52
|
+
"tnd" => "tunisia",
|
53
|
+
"omr" => "oman",
|
54
|
+
"xcd" => "east caribbean",
|
55
|
+
"jmd" => "jamaica",
|
56
|
+
"rub" => "russia",
|
57
|
+
"thb" => "thailand",
|
58
|
+
"sek" => "sweden",
|
59
|
+
"kes" => "kenya",
|
60
|
+
"pen" => "peru",
|
61
|
+
"czk" => "czech republic",
|
62
|
+
"dkk" => "denmark",
|
63
|
+
"vnd" => "vietnam",
|
64
|
+
"pkr" => "pakistan",
|
65
|
+
"isk" => "iceland",
|
66
|
+
"bhd" => "bahrain",
|
67
|
+
"bdt" => "bangladesh",
|
68
|
+
"grd" => "greece",
|
69
|
+
"inr" => "india",
|
70
|
+
"cny" => "china",
|
71
|
+
"frf" => "france",
|
72
|
+
"cop" => "colombia",
|
73
|
+
"esp" => "spain",
|
74
|
+
"sdd" => "sudan",
|
75
|
+
"zmk" => "zambia",
|
76
|
+
"eur" => "euro",
|
77
|
+
"ils" => "israel",
|
78
|
+
"dop" => "dominican republic",
|
79
|
+
"aud" => "australia",
|
80
|
+
"twd" => "taiwan",
|
81
|
+
"gbp" => "united kingdom",
|
82
|
+
"eek" => "estonia",
|
83
|
+
"nzd" => "new zealand",
|
84
|
+
"brl" => "brazil"
|
85
|
+
},
|
86
|
+
'base' => "ron"
|
87
|
+
}
|
@@ -0,0 +1,98 @@
|
|
1
|
+
module Stick
|
2
|
+
|
3
|
+
class Loader
|
4
|
+
|
5
|
+
class << self
|
6
|
+
|
7
|
+
def handles(*types)
|
8
|
+
handles = @handles ||= []
|
9
|
+
unless types.empty?
|
10
|
+
res = handles.push(*types)
|
11
|
+
Converter.register_loader(self)
|
12
|
+
res
|
13
|
+
else
|
14
|
+
handles
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def method_added(m)
|
19
|
+
eval %{
|
20
|
+
def self.#{m}(*a, &b)
|
21
|
+
(@instance ||= new).#{m}(*a, &b)
|
22
|
+
end
|
23
|
+
}
|
24
|
+
super
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
class Converter
|
32
|
+
|
33
|
+
@required_configs = {}
|
34
|
+
|
35
|
+
class << self
|
36
|
+
|
37
|
+
def require(file)
|
38
|
+
@required_configs[file] ||= begin
|
39
|
+
load_config(file + ".rb", self)
|
40
|
+
true
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
# def load(file)
|
45
|
+
# load_config(file, self)
|
46
|
+
# end
|
47
|
+
|
48
|
+
def register_loader(loader)
|
49
|
+
loaders[loader] ||= loader
|
50
|
+
loader.handles.each do |h|
|
51
|
+
loader_hash[h] ||= begin
|
52
|
+
eval %{
|
53
|
+
module_eval do
|
54
|
+
def #{h}(*a, &b)
|
55
|
+
self.class.send(:loader_hash)[#{h.inspect}].#{h}(self, *a, &b)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
}
|
59
|
+
loader
|
60
|
+
end
|
61
|
+
end
|
62
|
+
@loader_hash
|
63
|
+
end
|
64
|
+
|
65
|
+
private
|
66
|
+
|
67
|
+
def loaders
|
68
|
+
@loaders ||= {}
|
69
|
+
end
|
70
|
+
|
71
|
+
def loader_hash
|
72
|
+
@loader_hash ||= {}
|
73
|
+
end
|
74
|
+
|
75
|
+
def load_config(file, context)
|
76
|
+
data = File.read(File.join(::Stick::Config::CONFIGDIR, file)) rescue File.read(file)
|
77
|
+
context.instance_eval { eval data, nil, file }
|
78
|
+
end
|
79
|
+
|
80
|
+
end
|
81
|
+
|
82
|
+
def load(file)
|
83
|
+
self.class.send(:load_config, file, self)
|
84
|
+
end
|
85
|
+
|
86
|
+
end
|
87
|
+
|
88
|
+
class StandardLoader < Loader
|
89
|
+
|
90
|
+
handles 'unit'
|
91
|
+
|
92
|
+
def unit(converter, name, args)
|
93
|
+
converter.send(:register_unit, name, args)
|
94
|
+
end
|
95
|
+
|
96
|
+
end
|
97
|
+
|
98
|
+
end
|
@@ -0,0 +1,109 @@
|
|
1
|
+
require 'stick/units/base'
|
2
|
+
|
3
|
+
module Stick
|
4
|
+
|
5
|
+
class SILoader < Loader
|
6
|
+
|
7
|
+
# The prefixes used for SI units. See also Converter#register_si_unit.
|
8
|
+
SI_PREFIXES = {
|
9
|
+
'yotta' => {:abbrev => 'Y', :multiplier => 1e24},
|
10
|
+
'zetta' => {:abbrev => 'Z', :multiplier => 1e21},
|
11
|
+
'exa' => {:abbrev => 'E', :multiplier => 1e18},
|
12
|
+
'peta' => {:abbrev => 'P', :multiplier => 1e14},
|
13
|
+
'tera' => {:abbrev => 'T', :multiplier => 1e12},
|
14
|
+
'giga' => {:abbrev => 'G', :multiplier => 1e9},
|
15
|
+
'mega' => {:abbrev => 'M', :multiplier => 1e6},
|
16
|
+
'kilo' => {:abbrev => 'k', :multiplier => 1e3},
|
17
|
+
'hecto' => {:abbrev => 'h', :multiplier => 1e2},
|
18
|
+
'deca' => {:abbrev => 'da', :multiplier => 1e1},
|
19
|
+
'deci' => {:abbrev => 'd', :multiplier => 1e-1},
|
20
|
+
'centi' => {:abbrev => 'c', :multiplier => 1e-2},
|
21
|
+
'milli' => {:abbrev => 'm', :multiplier => 1e-3},
|
22
|
+
'micro' => {:abbrev => 'u', :multiplier => 1e-6},
|
23
|
+
'nano' => {:abbrev => 'n', :multiplier => 1e-9},
|
24
|
+
'pico' => {:abbrev => 'p', :multiplier => 1e-12},
|
25
|
+
'femto' => {:abbrev => 'f', :multiplier => 1e-15},
|
26
|
+
'atto' => {:abbrev => 'a', :multiplier => 1e-18},
|
27
|
+
'zepto' => {:abbrev => 'z', :multiplier => 1e-21},
|
28
|
+
'yocto' => {:abbrev => 'y', :multiplier => 1e-24}
|
29
|
+
}
|
30
|
+
|
31
|
+
handles 'si_unit'
|
32
|
+
|
33
|
+
def si_unit(converter, name, args)
|
34
|
+
converter.send(:register_prefixed_unit, name, SI_PREFIXES, args)
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
class LengthLoader < Loader
|
40
|
+
|
41
|
+
# The prefixes used for length units. See also Converter#register_length_unit.
|
42
|
+
LENGTH_PREFIXES = {
|
43
|
+
'square_' => {:abbrev => 'sq_', :power => 2},
|
44
|
+
'cubic_' => {:abbrev => 'cu_', :power => 3}
|
45
|
+
}
|
46
|
+
|
47
|
+
handles 'length_unit'
|
48
|
+
|
49
|
+
def length_unit(converter, name, args)
|
50
|
+
converter.send(:register_prefixed_unit, name, LENGTH_PREFIXES, args)
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
|
55
|
+
class BinaryLoader < Loader
|
56
|
+
|
57
|
+
# The prefixes used for binary units. See also Converter#register_binary_unit.
|
58
|
+
BINARY_PREFIXES = {
|
59
|
+
'yotta' => {:abbrev => 'Y', :multiplier => 1024.0 ** 8},
|
60
|
+
'zetta' => {:abbrev => 'Z', :multiplier => 1024.0 ** 7},
|
61
|
+
'exa' => {:abbrev => 'E', :multiplier => 1024.0 ** 6},
|
62
|
+
'peta' => {:abbrev => 'P', :multiplier => 1024.0 ** 5},
|
63
|
+
'tera' => {:abbrev => 'T', :multiplier => 1024.0 ** 4},
|
64
|
+
'giga' => {:abbrev => 'G', :multiplier => 1024.0 ** 3},
|
65
|
+
'mega' => {:abbrev => 'M', :multiplier => 1024.0 ** 2},
|
66
|
+
'kilo' => {:abbrev => 'k', :multiplier => 1024.0},
|
67
|
+
}
|
68
|
+
|
69
|
+
handles 'binary_unit'
|
70
|
+
|
71
|
+
def binary_unit(converter, name, args)
|
72
|
+
converter.send(:register_prefixed_unit, name, BINARY_PREFIXES, args)
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
|
77
|
+
class IECBinaryLoader < Loader
|
78
|
+
|
79
|
+
# The prefixes used for binary units in the IEC system.
|
80
|
+
# See also Converter#register_binary_iec_unit.
|
81
|
+
BINARY_IEC_PREFIXES = {
|
82
|
+
'yobi' => {:abbrev => 'Yi', :multiplier => 1024.0 ** 8},
|
83
|
+
'zebi' => {:abbrev => 'Zi', :multiplier => 1024.0 ** 7},
|
84
|
+
'exbi' => {:abbrev => 'Ei', :multiplier => 1024.0 ** 6},
|
85
|
+
'pebi' => {:abbrev => 'Pi', :multiplier => 1024.0 ** 5},
|
86
|
+
'tebi' => {:abbrev => 'Ti', :multiplier => 1024.0 ** 4},
|
87
|
+
'gibi' => {:abbrev => 'Gi', :multiplier => 1024.0 ** 3},
|
88
|
+
'mebi' => {:abbrev => 'Mi', :multiplier => 1024.0 ** 2},
|
89
|
+
'kibi' => {:abbrev => 'ki', :multiplier => 1024.0},
|
90
|
+
|
91
|
+
'yotta' => {:abbrev => 'Y', :multiplier => 1e24},
|
92
|
+
'zetta' => {:abbrev => 'Z', :multiplier => 1e21},
|
93
|
+
'exa' => {:abbrev => 'E', :multiplier => 1e18},
|
94
|
+
'peta' => {:abbrev => 'P', :multiplier => 1e14},
|
95
|
+
'tera' => {:abbrev => 'T', :multiplier => 1e12},
|
96
|
+
'giga' => {:abbrev => 'G', :multiplier => 1e9},
|
97
|
+
'mega' => {:abbrev => 'M', :multiplier => 1e6},
|
98
|
+
'kilo' => {:abbrev => 'k', :multiplier => 1e3},
|
99
|
+
}
|
100
|
+
|
101
|
+
handles 'binary_iec_unit'
|
102
|
+
|
103
|
+
def binary_iec_unit(converter, name, args)
|
104
|
+
converter.send(:register_prefixed_unit, name, BINARY_IEC_PREFIXES, args)
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|
108
|
+
|
109
|
+
end
|
data/meta/MANIFEST
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
# -x pkg -x dev -x doc
|
2
|
+
CHANGES
|
3
|
+
COPYING
|
4
|
+
README
|
5
|
+
lib
|
6
|
+
lib/stick
|
7
|
+
lib/stick/constants
|
8
|
+
lib/stick/constants/cgs.rb
|
9
|
+
lib/stick/constants/mks.rb
|
10
|
+
lib/stick/constants/number.rb
|
11
|
+
lib/stick/constants/typeless_cgs.rb
|
12
|
+
lib/stick/constants/typeless_mks.rb
|
13
|
+
lib/stick/constants.rb
|
14
|
+
lib/stick/currency.rb
|
15
|
+
lib/stick/mapcar.rb
|
16
|
+
lib/stick/matrix.rb
|
17
|
+
lib/stick/quaternion.rb
|
18
|
+
lib/stick/times.rb
|
19
|
+
lib/stick/units
|
20
|
+
lib/stick/units/base.rb
|
21
|
+
lib/stick/units/currency.rb
|
22
|
+
lib/stick/units/data
|
23
|
+
lib/stick/units/data/binary
|
24
|
+
lib/stick/units/data/binary/base.rb
|
25
|
+
lib/stick/units/data/cex.rb
|
26
|
+
lib/stick/units/data/currency
|
27
|
+
lib/stick/units/data/currency/base.rb
|
28
|
+
lib/stick/units/data/currency-default.rb
|
29
|
+
lib/stick/units/data/currency-standard.rb
|
30
|
+
lib/stick/units/data/iec.rb
|
31
|
+
lib/stick/units/data/iec_binary
|
32
|
+
lib/stick/units/data/iec_binary/base.rb
|
33
|
+
lib/stick/units/data/si
|
34
|
+
lib/stick/units/data/si/base.rb
|
35
|
+
lib/stick/units/data/si/derived.rb
|
36
|
+
lib/stick/units/data/si/extra.rb
|
37
|
+
lib/stick/units/data/si.rb
|
38
|
+
lib/stick/units/data/uk
|
39
|
+
lib/stick/units/data/uk/base.rb
|
40
|
+
lib/stick/units/data/uk.rb
|
41
|
+
lib/stick/units/data/units-default.rb
|
42
|
+
lib/stick/units/data/units-standard.rb
|
43
|
+
lib/stick/units/data/us
|
44
|
+
lib/stick/units/data/us/base.rb
|
45
|
+
lib/stick/units/data/us.rb
|
46
|
+
lib/stick/units/data/xmethods
|
47
|
+
lib/stick/units/data/xmethods/cached.rb
|
48
|
+
lib/stick/units/data/xmethods/mapping.rb
|
49
|
+
lib/stick/units/data/xmethods.rb
|
50
|
+
lib/stick/units/loaders.rb
|
51
|
+
lib/stick/units/units.rb
|
52
|
+
lib/stick/units.rb
|
53
|
+
meta
|
54
|
+
meta/MANIFEST
|
55
|
+
meta/ROLLRC
|
56
|
+
meta/config.yaml
|
57
|
+
meta/icli.yaml
|
58
|
+
meta/project.yaml
|
59
|
+
task
|
60
|
+
task/clobber
|
61
|
+
task/clobber/package
|
62
|
+
task/publish
|
63
|
+
task/rdoc
|
64
|
+
task/release
|
65
|
+
task/setup
|
66
|
+
task/test
|
67
|
+
test
|
68
|
+
test/spec_matrix.rb
|
69
|
+
test/test_currency.rb
|
70
|
+
test/test_matrix.rb
|
71
|
+
test/test_units.rb
|
72
|
+
test/unit
|
73
|
+
work
|
74
|
+
work/TODO
|
75
|
+
work/bytes.rb
|
76
|
+
work/multipliers.rb
|