measured 2.7.0 → 2.8.2
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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +3 -3
- data/CHANGELOG.md +28 -0
- data/README.md +9 -0
- data/cache/volume.json +532 -0
- data/dev.yml +1 -1
- data/lib/measured/arithmetic.rb +9 -0
- data/lib/measured/cache/json.rb +10 -4
- data/lib/measured/measurable.rb +2 -2
- data/lib/measured/unit.rb +2 -2
- data/lib/measured/units/volume.rb +2 -0
- data/lib/measured/version.rb +1 -1
- data/test/arithmetic_test.rb +35 -0
- data/test/measurable_test.rb +5 -6
- data/test/unit_test.rb +4 -0
- data/test/units/volume_test.rb +107 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 808003a2689c157f3d3a1ef7ff2eb2f1decc242d23c40a536d9bca8c57364a79
|
4
|
+
data.tar.gz: 42f4a72969b5331d7cd460f87d5668b3b331001b82f351c221f7153488859be5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4019bd9f128308af57f5ce9440e6a53f05587c1589f120b711c937b70d422a865c14d2e678d4b55bb13054e24a2663b5cb6ef51bfad12e834027eb4a644d5651
|
7
|
+
data.tar.gz: caf36d6ad0dbbd0e187adbb0d5a2ddd2718a38ddd67920e628c1d7ad09423f9c35edcef7f05cb863fec8e2849bb0eb8ce4145496aa0749cf2aaafbcd6459ba13
|
data/.github/workflows/ci.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,31 @@
|
|
1
|
+
Unreleased
|
2
|
+
-----
|
3
|
+
|
4
|
+
|
5
|
+
|
6
|
+
2.8.2
|
7
|
+
-----
|
8
|
+
|
9
|
+
* Add cm3 and mm3 to volume. (@fekadeabdejene)
|
10
|
+
|
11
|
+
2.8.1
|
12
|
+
-----
|
13
|
+
|
14
|
+
* Allow format without the conversion string. (@saraid)
|
15
|
+
* Add special case for zero coercion to allow direct use of `sum` method. (@jmortlock)
|
16
|
+
* Add useful numeric methods `finite?`, `infinite?`, `zero?`, `nonzero?`, `positive?` and `negative?`. (@jmortlock)
|
17
|
+
|
18
|
+
2.8.0
|
19
|
+
-----
|
20
|
+
|
21
|
+
* Drop support for Ruby 2.5
|
22
|
+
* Use Ruby 3.0.2 for development
|
23
|
+
|
24
|
+
2.7.1
|
25
|
+
-----
|
26
|
+
|
27
|
+
* Fix Ruby 3.0 compatibility
|
28
|
+
|
1
29
|
2.7.0
|
2
30
|
-----
|
3
31
|
|
data/README.md
CHANGED
@@ -149,6 +149,15 @@ Measured::Weight.new("3.14", "grams").format("%.1<value>f %<unit>s")
|
|
149
149
|
|
150
150
|
If no string is passed to the `format` method it defaults to `"%.2<value>f %<unit>s"`.
|
151
151
|
|
152
|
+
If the unit isn't the standard SI unit, it will include a conversion string.
|
153
|
+
|
154
|
+
```ruby
|
155
|
+
Measured::Weight.new("3.14", "kg").format
|
156
|
+
> "3.14 kg (1000/1 g)"
|
157
|
+
Measured::Weight.new("3.14", "kg").format(with_conversion_string: false)
|
158
|
+
> "3.14 kg"
|
159
|
+
```
|
160
|
+
|
152
161
|
## Units and conversions
|
153
162
|
|
154
163
|
### SI units support
|
data/cache/volume.json
CHANGED
@@ -89,6 +89,14 @@
|
|
89
89
|
"numerator": 1,
|
90
90
|
"denominator": 1000
|
91
91
|
},
|
92
|
+
"cm3": {
|
93
|
+
"numerator": 1000,
|
94
|
+
"denominator": 1
|
95
|
+
},
|
96
|
+
"mm3": {
|
97
|
+
"numerator": 1000000,
|
98
|
+
"denominator": 1
|
99
|
+
},
|
92
100
|
"in3": {
|
93
101
|
"numerator": 125000000,
|
94
102
|
"denominator": 2048383
|
@@ -219,6 +227,14 @@
|
|
219
227
|
"numerator": 1,
|
220
228
|
"denominator": 1000000000000000000000000000
|
221
229
|
},
|
230
|
+
"cm3": {
|
231
|
+
"numerator": 1,
|
232
|
+
"denominator": 1000000000000000000000
|
233
|
+
},
|
234
|
+
"mm3": {
|
235
|
+
"numerator": 1,
|
236
|
+
"denominator": 1000000000000000000
|
237
|
+
},
|
222
238
|
"in3": {
|
223
239
|
"numerator": 1,
|
224
240
|
"denominator": 16387064000000000000000
|
@@ -349,6 +365,14 @@
|
|
349
365
|
"numerator": 1,
|
350
366
|
"denominator": 1000000000000000000000000
|
351
367
|
},
|
368
|
+
"cm3": {
|
369
|
+
"numerator": 1,
|
370
|
+
"denominator": 1000000000000000000
|
371
|
+
},
|
372
|
+
"mm3": {
|
373
|
+
"numerator": 1,
|
374
|
+
"denominator": 1000000000000000
|
375
|
+
},
|
352
376
|
"in3": {
|
353
377
|
"numerator": 1,
|
354
378
|
"denominator": 16387064000000000000
|
@@ -479,6 +503,14 @@
|
|
479
503
|
"numerator": 1,
|
480
504
|
"denominator": 1000000000000000000000
|
481
505
|
},
|
506
|
+
"cm3": {
|
507
|
+
"numerator": 1,
|
508
|
+
"denominator": 1000000000000000
|
509
|
+
},
|
510
|
+
"mm3": {
|
511
|
+
"numerator": 1,
|
512
|
+
"denominator": 1000000000000
|
513
|
+
},
|
482
514
|
"in3": {
|
483
515
|
"numerator": 1,
|
484
516
|
"denominator": 16387064000000000
|
@@ -609,6 +641,14 @@
|
|
609
641
|
"numerator": 1,
|
610
642
|
"denominator": 1000000000000000000
|
611
643
|
},
|
644
|
+
"cm3": {
|
645
|
+
"numerator": 1,
|
646
|
+
"denominator": 1000000000000
|
647
|
+
},
|
648
|
+
"mm3": {
|
649
|
+
"numerator": 1,
|
650
|
+
"denominator": 1000000000
|
651
|
+
},
|
612
652
|
"in3": {
|
613
653
|
"numerator": 1,
|
614
654
|
"denominator": 16387064000000
|
@@ -739,6 +779,14 @@
|
|
739
779
|
"numerator": 1,
|
740
780
|
"denominator": 1000000000000000
|
741
781
|
},
|
782
|
+
"cm3": {
|
783
|
+
"numerator": 1,
|
784
|
+
"denominator": 1000000000
|
785
|
+
},
|
786
|
+
"mm3": {
|
787
|
+
"numerator": 1,
|
788
|
+
"denominator": 1000000
|
789
|
+
},
|
742
790
|
"in3": {
|
743
791
|
"numerator": 1,
|
744
792
|
"denominator": 16387064000
|
@@ -869,6 +917,14 @@
|
|
869
917
|
"numerator": 1,
|
870
918
|
"denominator": 1000000000000
|
871
919
|
},
|
920
|
+
"cm3": {
|
921
|
+
"numerator": 1,
|
922
|
+
"denominator": 1000000
|
923
|
+
},
|
924
|
+
"mm3": {
|
925
|
+
"numerator": 1,
|
926
|
+
"denominator": 1000
|
927
|
+
},
|
872
928
|
"in3": {
|
873
929
|
"numerator": 1,
|
874
930
|
"denominator": 16387064
|
@@ -999,6 +1055,14 @@
|
|
999
1055
|
"numerator": 1,
|
1000
1056
|
"denominator": 1000000000
|
1001
1057
|
},
|
1058
|
+
"cm3": {
|
1059
|
+
"numerator": 1,
|
1060
|
+
"denominator": 1000
|
1061
|
+
},
|
1062
|
+
"mm3": {
|
1063
|
+
"numerator": 1,
|
1064
|
+
"denominator": 1
|
1065
|
+
},
|
1002
1066
|
"in3": {
|
1003
1067
|
"numerator": 125,
|
1004
1068
|
"denominator": 2048383
|
@@ -1129,6 +1193,14 @@
|
|
1129
1193
|
"numerator": 1,
|
1130
1194
|
"denominator": 1000000
|
1131
1195
|
},
|
1196
|
+
"cm3": {
|
1197
|
+
"numerator": 1,
|
1198
|
+
"denominator": 1
|
1199
|
+
},
|
1200
|
+
"mm3": {
|
1201
|
+
"numerator": 1000,
|
1202
|
+
"denominator": 1
|
1203
|
+
},
|
1132
1204
|
"in3": {
|
1133
1205
|
"numerator": 125000,
|
1134
1206
|
"denominator": 2048383
|
@@ -1259,6 +1331,14 @@
|
|
1259
1331
|
"numerator": 1,
|
1260
1332
|
"denominator": 100000
|
1261
1333
|
},
|
1334
|
+
"cm3": {
|
1335
|
+
"numerator": 10,
|
1336
|
+
"denominator": 1
|
1337
|
+
},
|
1338
|
+
"mm3": {
|
1339
|
+
"numerator": 10000,
|
1340
|
+
"denominator": 1
|
1341
|
+
},
|
1262
1342
|
"in3": {
|
1263
1343
|
"numerator": 1250000,
|
1264
1344
|
"denominator": 2048383
|
@@ -1389,6 +1469,14 @@
|
|
1389
1469
|
"numerator": 1,
|
1390
1470
|
"denominator": 10000
|
1391
1471
|
},
|
1472
|
+
"cm3": {
|
1473
|
+
"numerator": 100,
|
1474
|
+
"denominator": 1
|
1475
|
+
},
|
1476
|
+
"mm3": {
|
1477
|
+
"numerator": 100000,
|
1478
|
+
"denominator": 1
|
1479
|
+
},
|
1392
1480
|
"in3": {
|
1393
1481
|
"numerator": 12500000,
|
1394
1482
|
"denominator": 2048383
|
@@ -1519,6 +1607,14 @@
|
|
1519
1607
|
"numerator": 1,
|
1520
1608
|
"denominator": 100
|
1521
1609
|
},
|
1610
|
+
"cm3": {
|
1611
|
+
"numerator": 10000,
|
1612
|
+
"denominator": 1
|
1613
|
+
},
|
1614
|
+
"mm3": {
|
1615
|
+
"numerator": 10000000,
|
1616
|
+
"denominator": 1
|
1617
|
+
},
|
1522
1618
|
"in3": {
|
1523
1619
|
"numerator": 1250000000,
|
1524
1620
|
"denominator": 2048383
|
@@ -1649,6 +1745,14 @@
|
|
1649
1745
|
"numerator": 1,
|
1650
1746
|
"denominator": 10
|
1651
1747
|
},
|
1748
|
+
"cm3": {
|
1749
|
+
"numerator": 100000,
|
1750
|
+
"denominator": 1
|
1751
|
+
},
|
1752
|
+
"mm3": {
|
1753
|
+
"numerator": 100000000,
|
1754
|
+
"denominator": 1
|
1755
|
+
},
|
1652
1756
|
"in3": {
|
1653
1757
|
"numerator": 12500000000,
|
1654
1758
|
"denominator": 2048383
|
@@ -1779,6 +1883,14 @@
|
|
1779
1883
|
"numerator": 1,
|
1780
1884
|
"denominator": 1
|
1781
1885
|
},
|
1886
|
+
"cm3": {
|
1887
|
+
"numerator": 1000000,
|
1888
|
+
"denominator": 1
|
1889
|
+
},
|
1890
|
+
"mm3": {
|
1891
|
+
"numerator": 1000000000,
|
1892
|
+
"denominator": 1
|
1893
|
+
},
|
1782
1894
|
"in3": {
|
1783
1895
|
"numerator": 125000000000,
|
1784
1896
|
"denominator": 2048383
|
@@ -1909,6 +2021,14 @@
|
|
1909
2021
|
"numerator": 1000,
|
1910
2022
|
"denominator": 1
|
1911
2023
|
},
|
2024
|
+
"cm3": {
|
2025
|
+
"numerator": 1000000000,
|
2026
|
+
"denominator": 1
|
2027
|
+
},
|
2028
|
+
"mm3": {
|
2029
|
+
"numerator": 1000000000000,
|
2030
|
+
"denominator": 1
|
2031
|
+
},
|
1912
2032
|
"in3": {
|
1913
2033
|
"numerator": 125000000000000,
|
1914
2034
|
"denominator": 2048383
|
@@ -2039,6 +2159,14 @@
|
|
2039
2159
|
"numerator": 1000000,
|
2040
2160
|
"denominator": 1
|
2041
2161
|
},
|
2162
|
+
"cm3": {
|
2163
|
+
"numerator": 1000000000000,
|
2164
|
+
"denominator": 1
|
2165
|
+
},
|
2166
|
+
"mm3": {
|
2167
|
+
"numerator": 1000000000000000,
|
2168
|
+
"denominator": 1
|
2169
|
+
},
|
2042
2170
|
"in3": {
|
2043
2171
|
"numerator": 125000000000000000,
|
2044
2172
|
"denominator": 2048383
|
@@ -2169,6 +2297,14 @@
|
|
2169
2297
|
"numerator": 1000000000,
|
2170
2298
|
"denominator": 1
|
2171
2299
|
},
|
2300
|
+
"cm3": {
|
2301
|
+
"numerator": 1000000000000000,
|
2302
|
+
"denominator": 1
|
2303
|
+
},
|
2304
|
+
"mm3": {
|
2305
|
+
"numerator": 1000000000000000000,
|
2306
|
+
"denominator": 1
|
2307
|
+
},
|
2172
2308
|
"in3": {
|
2173
2309
|
"numerator": 125000000000000000000,
|
2174
2310
|
"denominator": 2048383
|
@@ -2299,6 +2435,14 @@
|
|
2299
2435
|
"numerator": 1000000000000,
|
2300
2436
|
"denominator": 1
|
2301
2437
|
},
|
2438
|
+
"cm3": {
|
2439
|
+
"numerator": 1000000000000000000,
|
2440
|
+
"denominator": 1
|
2441
|
+
},
|
2442
|
+
"mm3": {
|
2443
|
+
"numerator": 1000000000000000000000,
|
2444
|
+
"denominator": 1
|
2445
|
+
},
|
2302
2446
|
"in3": {
|
2303
2447
|
"numerator": 125000000000000000000000,
|
2304
2448
|
"denominator": 2048383
|
@@ -2429,6 +2573,14 @@
|
|
2429
2573
|
"numerator": 1000000000000000,
|
2430
2574
|
"denominator": 1
|
2431
2575
|
},
|
2576
|
+
"cm3": {
|
2577
|
+
"numerator": 1000000000000000000000,
|
2578
|
+
"denominator": 1
|
2579
|
+
},
|
2580
|
+
"mm3": {
|
2581
|
+
"numerator": 1000000000000000000000000,
|
2582
|
+
"denominator": 1
|
2583
|
+
},
|
2432
2584
|
"in3": {
|
2433
2585
|
"numerator": 125000000000000000000000000,
|
2434
2586
|
"denominator": 2048383
|
@@ -2559,6 +2711,14 @@
|
|
2559
2711
|
"numerator": 1000000000000000000,
|
2560
2712
|
"denominator": 1
|
2561
2713
|
},
|
2714
|
+
"cm3": {
|
2715
|
+
"numerator": 1000000000000000000000000,
|
2716
|
+
"denominator": 1
|
2717
|
+
},
|
2718
|
+
"mm3": {
|
2719
|
+
"numerator": 1000000000000000000000000000,
|
2720
|
+
"denominator": 1
|
2721
|
+
},
|
2562
2722
|
"in3": {
|
2563
2723
|
"numerator": 125000000000000000000000000000,
|
2564
2724
|
"denominator": 2048383
|
@@ -2689,6 +2849,14 @@
|
|
2689
2849
|
"numerator": 1000000000000000000000,
|
2690
2850
|
"denominator": 1
|
2691
2851
|
},
|
2852
|
+
"cm3": {
|
2853
|
+
"numerator": 1000000000000000000000000000,
|
2854
|
+
"denominator": 1
|
2855
|
+
},
|
2856
|
+
"mm3": {
|
2857
|
+
"numerator": 1000000000000000000000000000000,
|
2858
|
+
"denominator": 1
|
2859
|
+
},
|
2692
2860
|
"in3": {
|
2693
2861
|
"numerator": 125000000000000000000000000000000,
|
2694
2862
|
"denominator": 2048383
|
@@ -2819,6 +2987,14 @@
|
|
2819
2987
|
"numerator": 1,
|
2820
2988
|
"denominator": 1000000000000000000000
|
2821
2989
|
},
|
2990
|
+
"cm3": {
|
2991
|
+
"numerator": 1000000,
|
2992
|
+
"denominator": 1
|
2993
|
+
},
|
2994
|
+
"mm3": {
|
2995
|
+
"numerator": 1000000000,
|
2996
|
+
"denominator": 1
|
2997
|
+
},
|
2822
2998
|
"in3": {
|
2823
2999
|
"numerator": 125000000000,
|
2824
3000
|
"denominator": 2048383
|
@@ -2860,6 +3036,282 @@
|
|
2860
3036
|
"denominator": 473176473
|
2861
3037
|
}
|
2862
3038
|
},
|
3039
|
+
"cm3": {
|
3040
|
+
"cm3": {
|
3041
|
+
"numerator": 1,
|
3042
|
+
"denominator": 1
|
3043
|
+
},
|
3044
|
+
"l": {
|
3045
|
+
"numerator": 1,
|
3046
|
+
"denominator": 1000
|
3047
|
+
},
|
3048
|
+
"yl": {
|
3049
|
+
"numerator": 1000000000000000000000,
|
3050
|
+
"denominator": 1
|
3051
|
+
},
|
3052
|
+
"zl": {
|
3053
|
+
"numerator": 1000000000000000000,
|
3054
|
+
"denominator": 1
|
3055
|
+
},
|
3056
|
+
"al": {
|
3057
|
+
"numerator": 1000000000000000,
|
3058
|
+
"denominator": 1
|
3059
|
+
},
|
3060
|
+
"fl": {
|
3061
|
+
"numerator": 1000000000000,
|
3062
|
+
"denominator": 1
|
3063
|
+
},
|
3064
|
+
"pl": {
|
3065
|
+
"numerator": 1000000000,
|
3066
|
+
"denominator": 1
|
3067
|
+
},
|
3068
|
+
"nl": {
|
3069
|
+
"numerator": 1000000,
|
3070
|
+
"denominator": 1
|
3071
|
+
},
|
3072
|
+
"μl": {
|
3073
|
+
"numerator": 1000,
|
3074
|
+
"denominator": 1
|
3075
|
+
},
|
3076
|
+
"ml": {
|
3077
|
+
"numerator": 1,
|
3078
|
+
"denominator": 1
|
3079
|
+
},
|
3080
|
+
"cl": {
|
3081
|
+
"numerator": 1,
|
3082
|
+
"denominator": 10
|
3083
|
+
},
|
3084
|
+
"dl": {
|
3085
|
+
"numerator": 1,
|
3086
|
+
"denominator": 100
|
3087
|
+
},
|
3088
|
+
"dal": {
|
3089
|
+
"numerator": 1,
|
3090
|
+
"denominator": 10000
|
3091
|
+
},
|
3092
|
+
"hl": {
|
3093
|
+
"numerator": 1,
|
3094
|
+
"denominator": 100000
|
3095
|
+
},
|
3096
|
+
"kl": {
|
3097
|
+
"numerator": 1,
|
3098
|
+
"denominator": 1000000
|
3099
|
+
},
|
3100
|
+
"Ml": {
|
3101
|
+
"numerator": 1,
|
3102
|
+
"denominator": 1000000000
|
3103
|
+
},
|
3104
|
+
"Gl": {
|
3105
|
+
"numerator": 1,
|
3106
|
+
"denominator": 1000000000000
|
3107
|
+
},
|
3108
|
+
"Tl": {
|
3109
|
+
"numerator": 1,
|
3110
|
+
"denominator": 1000000000000000
|
3111
|
+
},
|
3112
|
+
"Pl": {
|
3113
|
+
"numerator": 1,
|
3114
|
+
"denominator": 1000000000000000000
|
3115
|
+
},
|
3116
|
+
"El": {
|
3117
|
+
"numerator": 1,
|
3118
|
+
"denominator": 1000000000000000000000
|
3119
|
+
},
|
3120
|
+
"Zl": {
|
3121
|
+
"numerator": 1,
|
3122
|
+
"denominator": 1000000000000000000000000
|
3123
|
+
},
|
3124
|
+
"Yl": {
|
3125
|
+
"numerator": 1,
|
3126
|
+
"denominator": 1000000000000000000000000000
|
3127
|
+
},
|
3128
|
+
"m3": {
|
3129
|
+
"numerator": 1,
|
3130
|
+
"denominator": 1000000
|
3131
|
+
},
|
3132
|
+
"mm3": {
|
3133
|
+
"numerator": 1000,
|
3134
|
+
"denominator": 1
|
3135
|
+
},
|
3136
|
+
"in3": {
|
3137
|
+
"numerator": 125000,
|
3138
|
+
"denominator": 2048383
|
3139
|
+
},
|
3140
|
+
"ft3": {
|
3141
|
+
"numerator": 15625,
|
3142
|
+
"denominator": 442450728
|
3143
|
+
},
|
3144
|
+
"gal": {
|
3145
|
+
"numerator": 100,
|
3146
|
+
"denominator": 454609
|
3147
|
+
},
|
3148
|
+
"us_gal": {
|
3149
|
+
"numerator": 125000,
|
3150
|
+
"denominator": 473176473
|
3151
|
+
},
|
3152
|
+
"qt": {
|
3153
|
+
"numerator": 400,
|
3154
|
+
"denominator": 454609
|
3155
|
+
},
|
3156
|
+
"us_qt": {
|
3157
|
+
"numerator": 500000,
|
3158
|
+
"denominator": 473176473
|
3159
|
+
},
|
3160
|
+
"pt": {
|
3161
|
+
"numerator": 800,
|
3162
|
+
"denominator": 454609
|
3163
|
+
},
|
3164
|
+
"us_pt": {
|
3165
|
+
"numerator": 1000000,
|
3166
|
+
"denominator": 473176473
|
3167
|
+
},
|
3168
|
+
"oz": {
|
3169
|
+
"numerator": 16000,
|
3170
|
+
"denominator": 454609
|
3171
|
+
},
|
3172
|
+
"us_oz": {
|
3173
|
+
"numerator": 16000000,
|
3174
|
+
"denominator": 473176473
|
3175
|
+
}
|
3176
|
+
},
|
3177
|
+
"mm3": {
|
3178
|
+
"mm3": {
|
3179
|
+
"numerator": 1,
|
3180
|
+
"denominator": 1
|
3181
|
+
},
|
3182
|
+
"l": {
|
3183
|
+
"numerator": 1,
|
3184
|
+
"denominator": 1000000
|
3185
|
+
},
|
3186
|
+
"yl": {
|
3187
|
+
"numerator": 1000000000000000000,
|
3188
|
+
"denominator": 1
|
3189
|
+
},
|
3190
|
+
"zl": {
|
3191
|
+
"numerator": 1000000000000000,
|
3192
|
+
"denominator": 1
|
3193
|
+
},
|
3194
|
+
"al": {
|
3195
|
+
"numerator": 1000000000000,
|
3196
|
+
"denominator": 1
|
3197
|
+
},
|
3198
|
+
"fl": {
|
3199
|
+
"numerator": 1000000000,
|
3200
|
+
"denominator": 1
|
3201
|
+
},
|
3202
|
+
"pl": {
|
3203
|
+
"numerator": 1000000,
|
3204
|
+
"denominator": 1
|
3205
|
+
},
|
3206
|
+
"nl": {
|
3207
|
+
"numerator": 1000,
|
3208
|
+
"denominator": 1
|
3209
|
+
},
|
3210
|
+
"μl": {
|
3211
|
+
"numerator": 1,
|
3212
|
+
"denominator": 1
|
3213
|
+
},
|
3214
|
+
"ml": {
|
3215
|
+
"numerator": 1,
|
3216
|
+
"denominator": 1000
|
3217
|
+
},
|
3218
|
+
"cl": {
|
3219
|
+
"numerator": 1,
|
3220
|
+
"denominator": 10000
|
3221
|
+
},
|
3222
|
+
"dl": {
|
3223
|
+
"numerator": 1,
|
3224
|
+
"denominator": 100000
|
3225
|
+
},
|
3226
|
+
"dal": {
|
3227
|
+
"numerator": 1,
|
3228
|
+
"denominator": 10000000
|
3229
|
+
},
|
3230
|
+
"hl": {
|
3231
|
+
"numerator": 1,
|
3232
|
+
"denominator": 100000000
|
3233
|
+
},
|
3234
|
+
"kl": {
|
3235
|
+
"numerator": 1,
|
3236
|
+
"denominator": 1000000000
|
3237
|
+
},
|
3238
|
+
"Ml": {
|
3239
|
+
"numerator": 1,
|
3240
|
+
"denominator": 1000000000000
|
3241
|
+
},
|
3242
|
+
"Gl": {
|
3243
|
+
"numerator": 1,
|
3244
|
+
"denominator": 1000000000000000
|
3245
|
+
},
|
3246
|
+
"Tl": {
|
3247
|
+
"numerator": 1,
|
3248
|
+
"denominator": 1000000000000000000
|
3249
|
+
},
|
3250
|
+
"Pl": {
|
3251
|
+
"numerator": 1,
|
3252
|
+
"denominator": 1000000000000000000000
|
3253
|
+
},
|
3254
|
+
"El": {
|
3255
|
+
"numerator": 1,
|
3256
|
+
"denominator": 1000000000000000000000000
|
3257
|
+
},
|
3258
|
+
"Zl": {
|
3259
|
+
"numerator": 1,
|
3260
|
+
"denominator": 1000000000000000000000000000
|
3261
|
+
},
|
3262
|
+
"Yl": {
|
3263
|
+
"numerator": 1,
|
3264
|
+
"denominator": 1000000000000000000000000000000
|
3265
|
+
},
|
3266
|
+
"m3": {
|
3267
|
+
"numerator": 1,
|
3268
|
+
"denominator": 1000000000
|
3269
|
+
},
|
3270
|
+
"cm3": {
|
3271
|
+
"numerator": 1,
|
3272
|
+
"denominator": 1000
|
3273
|
+
},
|
3274
|
+
"in3": {
|
3275
|
+
"numerator": 125,
|
3276
|
+
"denominator": 2048383
|
3277
|
+
},
|
3278
|
+
"ft3": {
|
3279
|
+
"numerator": 125,
|
3280
|
+
"denominator": 3539605824
|
3281
|
+
},
|
3282
|
+
"gal": {
|
3283
|
+
"numerator": 1,
|
3284
|
+
"denominator": 4546090
|
3285
|
+
},
|
3286
|
+
"us_gal": {
|
3287
|
+
"numerator": 125,
|
3288
|
+
"denominator": 473176473
|
3289
|
+
},
|
3290
|
+
"qt": {
|
3291
|
+
"numerator": 2,
|
3292
|
+
"denominator": 2273045
|
3293
|
+
},
|
3294
|
+
"us_qt": {
|
3295
|
+
"numerator": 500,
|
3296
|
+
"denominator": 473176473
|
3297
|
+
},
|
3298
|
+
"pt": {
|
3299
|
+
"numerator": 4,
|
3300
|
+
"denominator": 2273045
|
3301
|
+
},
|
3302
|
+
"us_pt": {
|
3303
|
+
"numerator": 1000,
|
3304
|
+
"denominator": 473176473
|
3305
|
+
},
|
3306
|
+
"oz": {
|
3307
|
+
"numerator": 16,
|
3308
|
+
"denominator": 454609
|
3309
|
+
},
|
3310
|
+
"us_oz": {
|
3311
|
+
"numerator": 16000,
|
3312
|
+
"denominator": 473176473
|
3313
|
+
}
|
3314
|
+
},
|
2863
3315
|
"in3": {
|
2864
3316
|
"in3": {
|
2865
3317
|
"numerator": 1,
|
@@ -2953,6 +3405,14 @@
|
|
2953
3405
|
"numerator": 2048383,
|
2954
3406
|
"denominator": 125000000000
|
2955
3407
|
},
|
3408
|
+
"cm3": {
|
3409
|
+
"numerator": 2048383,
|
3410
|
+
"denominator": 125000
|
3411
|
+
},
|
3412
|
+
"mm3": {
|
3413
|
+
"numerator": 2048383,
|
3414
|
+
"denominator": 125
|
3415
|
+
},
|
2956
3416
|
"ft3": {
|
2957
3417
|
"numerator": 1,
|
2958
3418
|
"denominator": 1728
|
@@ -3083,6 +3543,14 @@
|
|
3083
3543
|
"numerator": 55306341,
|
3084
3544
|
"denominator": 1953125000
|
3085
3545
|
},
|
3546
|
+
"cm3": {
|
3547
|
+
"numerator": 442450728,
|
3548
|
+
"denominator": 15625
|
3549
|
+
},
|
3550
|
+
"mm3": {
|
3551
|
+
"numerator": 3539605824,
|
3552
|
+
"denominator": 125
|
3553
|
+
},
|
3086
3554
|
"in3": {
|
3087
3555
|
"numerator": 1728,
|
3088
3556
|
"denominator": 1
|
@@ -3213,6 +3681,14 @@
|
|
3213
3681
|
"numerator": 454609,
|
3214
3682
|
"denominator": 100000000
|
3215
3683
|
},
|
3684
|
+
"cm3": {
|
3685
|
+
"numerator": 454609,
|
3686
|
+
"denominator": 100
|
3687
|
+
},
|
3688
|
+
"mm3": {
|
3689
|
+
"numerator": 4546090,
|
3690
|
+
"denominator": 1
|
3691
|
+
},
|
3216
3692
|
"in3": {
|
3217
3693
|
"numerator": 568261250,
|
3218
3694
|
"denominator": 2048383
|
@@ -3343,6 +3819,14 @@
|
|
3343
3819
|
"numerator": 473176473,
|
3344
3820
|
"denominator": 125000000000
|
3345
3821
|
},
|
3822
|
+
"cm3": {
|
3823
|
+
"numerator": 473176473,
|
3824
|
+
"denominator": 125000
|
3825
|
+
},
|
3826
|
+
"mm3": {
|
3827
|
+
"numerator": 473176473,
|
3828
|
+
"denominator": 125
|
3829
|
+
},
|
3346
3830
|
"in3": {
|
3347
3831
|
"numerator": 231,
|
3348
3832
|
"denominator": 1
|
@@ -3473,6 +3957,14 @@
|
|
3473
3957
|
"numerator": 454609,
|
3474
3958
|
"denominator": 400000000
|
3475
3959
|
},
|
3960
|
+
"cm3": {
|
3961
|
+
"numerator": 454609,
|
3962
|
+
"denominator": 400
|
3963
|
+
},
|
3964
|
+
"mm3": {
|
3965
|
+
"numerator": 2273045,
|
3966
|
+
"denominator": 2
|
3967
|
+
},
|
3476
3968
|
"in3": {
|
3477
3969
|
"numerator": 284130625,
|
3478
3970
|
"denominator": 4096766
|
@@ -3603,6 +4095,14 @@
|
|
3603
4095
|
"numerator": 473176473,
|
3604
4096
|
"denominator": 500000000000
|
3605
4097
|
},
|
4098
|
+
"cm3": {
|
4099
|
+
"numerator": 473176473,
|
4100
|
+
"denominator": 500000
|
4101
|
+
},
|
4102
|
+
"mm3": {
|
4103
|
+
"numerator": 473176473,
|
4104
|
+
"denominator": 500
|
4105
|
+
},
|
3606
4106
|
"in3": {
|
3607
4107
|
"numerator": 231,
|
3608
4108
|
"denominator": 4
|
@@ -3733,6 +4233,14 @@
|
|
3733
4233
|
"numerator": 454609,
|
3734
4234
|
"denominator": 800000000
|
3735
4235
|
},
|
4236
|
+
"cm3": {
|
4237
|
+
"numerator": 454609,
|
4238
|
+
"denominator": 800
|
4239
|
+
},
|
4240
|
+
"mm3": {
|
4241
|
+
"numerator": 2273045,
|
4242
|
+
"denominator": 4
|
4243
|
+
},
|
3736
4244
|
"in3": {
|
3737
4245
|
"numerator": 284130625,
|
3738
4246
|
"denominator": 8193532
|
@@ -3863,6 +4371,14 @@
|
|
3863
4371
|
"numerator": 473176473,
|
3864
4372
|
"denominator": 1000000000000
|
3865
4373
|
},
|
4374
|
+
"cm3": {
|
4375
|
+
"numerator": 473176473,
|
4376
|
+
"denominator": 1000000
|
4377
|
+
},
|
4378
|
+
"mm3": {
|
4379
|
+
"numerator": 473176473,
|
4380
|
+
"denominator": 1000
|
4381
|
+
},
|
3866
4382
|
"in3": {
|
3867
4383
|
"numerator": 231,
|
3868
4384
|
"denominator": 8
|
@@ -3993,6 +4509,14 @@
|
|
3993
4509
|
"numerator": 454609,
|
3994
4510
|
"denominator": 16000000000
|
3995
4511
|
},
|
4512
|
+
"cm3": {
|
4513
|
+
"numerator": 454609,
|
4514
|
+
"denominator": 16000
|
4515
|
+
},
|
4516
|
+
"mm3": {
|
4517
|
+
"numerator": 454609,
|
4518
|
+
"denominator": 16
|
4519
|
+
},
|
3996
4520
|
"in3": {
|
3997
4521
|
"numerator": 56826125,
|
3998
4522
|
"denominator": 32774128
|
@@ -4123,6 +4647,14 @@
|
|
4123
4647
|
"numerator": 473176473,
|
4124
4648
|
"denominator": 16000000000000
|
4125
4649
|
},
|
4650
|
+
"cm3": {
|
4651
|
+
"numerator": 473176473,
|
4652
|
+
"denominator": 16000000
|
4653
|
+
},
|
4654
|
+
"mm3": {
|
4655
|
+
"numerator": 473176473,
|
4656
|
+
"denominator": 16000
|
4657
|
+
},
|
4126
4658
|
"in3": {
|
4127
4659
|
"numerator": 231,
|
4128
4660
|
"denominator": 128
|
data/dev.yml
CHANGED
data/lib/measured/arithmetic.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
module Measured::Arithmetic
|
3
|
+
extend Forwardable
|
4
|
+
def_delegators :@value, :zero?, :positive?, :negative?, :finite?, :infinite?
|
5
|
+
|
3
6
|
def +(other)
|
4
7
|
arithmetic_operation(other, :+)
|
5
8
|
end
|
@@ -19,6 +22,8 @@ module Measured::Arithmetic
|
|
19
22
|
def coerce(other)
|
20
23
|
if other.is_a?(self.class)
|
21
24
|
[other, self]
|
25
|
+
elsif other.is_a?(Numeric) && other.zero?
|
26
|
+
[self.class.new(other, self.unit), self]
|
22
27
|
else
|
23
28
|
raise TypeError, "Cannot coerce #{other.class} to #{self.class}"
|
24
29
|
end
|
@@ -28,6 +33,10 @@ module Measured::Arithmetic
|
|
28
33
|
raise TypeError, "#{self.class} cannot be converted to an integer"
|
29
34
|
end
|
30
35
|
|
36
|
+
def nonzero?
|
37
|
+
value.nonzero? ? self : false
|
38
|
+
end
|
39
|
+
|
31
40
|
private
|
32
41
|
|
33
42
|
def arithmetic_operation(other, operator)
|
data/lib/measured/cache/json.rb
CHANGED
@@ -37,11 +37,17 @@ module Measured::Cache
|
|
37
37
|
end
|
38
38
|
|
39
39
|
def decode(table)
|
40
|
-
table.
|
41
|
-
|
42
|
-
|
43
|
-
|
40
|
+
table.transform_values do |value1|
|
41
|
+
if value1.is_a?(Hash)
|
42
|
+
value1.transform_values do |value2|
|
43
|
+
if value2.is_a?(Hash)
|
44
|
+
Rational(value2["numerator"], value2["denominator"])
|
45
|
+
else
|
46
|
+
value2
|
47
|
+
end
|
44
48
|
end
|
49
|
+
else
|
50
|
+
value1
|
45
51
|
end
|
46
52
|
end
|
47
53
|
end
|
data/lib/measured/measurable.rb
CHANGED
@@ -43,10 +43,10 @@ class Measured::Measurable < Numeric
|
|
43
43
|
self.class.new(new_value, new_unit)
|
44
44
|
end
|
45
45
|
|
46
|
-
def format(format_string=nil)
|
46
|
+
def format(format_string=nil, with_conversion_string: true)
|
47
47
|
kwargs = {
|
48
48
|
value: self.value,
|
49
|
-
unit: self.unit,
|
49
|
+
unit: self.unit.to_s(with_conversion_string: with_conversion_string),
|
50
50
|
}
|
51
51
|
(format_string || DEFAULT_FORMAT_STRING) % kwargs
|
52
52
|
end
|
data/lib/measured/unit.rb
CHANGED
@@ -3,6 +3,8 @@ Measured::Volume = Measured.build do
|
|
3
3
|
si_unit :l, aliases: [:liter, :litre, :liters, :litres]
|
4
4
|
|
5
5
|
unit :m3, value: "1000 l", aliases: [:cubic_meter, :cubic_metre, :cubic_meters, :cubic_metres]
|
6
|
+
unit :cm3, value: "0.001 l", aliases: [:cubic_centimeter, :cubic_centimetre, :cubic_centimeters, :cubic_centimetres]
|
7
|
+
unit :mm3, value: "0.000001 l", aliases: [:cubic_millimeter, :cubic_millimetre, :cubic_millimeters, :cubic_millimetres]
|
6
8
|
unit :in3, value: "0.016387064 l", aliases: [:cubic_inch, :cubic_inches]
|
7
9
|
unit :ft3, value: "1728 in3", aliases: [:cubic_foot, :cubic_feet]
|
8
10
|
unit :gal, value: "4.54609 l", aliases: [:imp_gal, :imperial_gallon, :imp_gals, :imperial_gallons]
|
data/lib/measured/version.rb
CHANGED
data/test/arithmetic_test.rb
CHANGED
@@ -8,6 +8,41 @@ class Measured::ArithmeticTest < ActiveSupport::TestCase
|
|
8
8
|
@four = Magic.new(4, :magic_missile)
|
9
9
|
end
|
10
10
|
|
11
|
+
test "should be able to sum same units" do
|
12
|
+
assert_equal Magic.new(9, :magic_missile), [@two, @three, @four].sum
|
13
|
+
end
|
14
|
+
|
15
|
+
test 'can check for finite?' do
|
16
|
+
assert Magic.new(0, :magic_missile).finite?
|
17
|
+
refute Magic.new(Float::INFINITY, :magic_missile).finite?
|
18
|
+
end
|
19
|
+
|
20
|
+
test 'can check for infinite?' do
|
21
|
+
assert Magic.new(Float::INFINITY, :magic_missile).infinite?
|
22
|
+
refute Magic.new(0, :magic_missile).infinite?
|
23
|
+
end
|
24
|
+
|
25
|
+
test 'can check for zero?' do
|
26
|
+
assert Magic.new(0, :magic_missile).zero?
|
27
|
+
refute Magic.new(1, :magic_missile).zero?
|
28
|
+
end
|
29
|
+
|
30
|
+
test 'can check for nonzero?' do
|
31
|
+
assert_equal Magic.new(10, :magic_missile), Magic.new(10, :magic_missile).nonzero?
|
32
|
+
assert Magic.new(10, :magic_missile).nonzero?
|
33
|
+
refute Magic.new(0, :magic_missile).nonzero?
|
34
|
+
end
|
35
|
+
|
36
|
+
test 'can check for positive?' do
|
37
|
+
assert Magic.new(1, :magic_missile).positive?
|
38
|
+
refute Magic.new(-1, :magic_missile).positive?
|
39
|
+
end
|
40
|
+
|
41
|
+
test 'can check for negative?' do
|
42
|
+
assert Magic.new(-1, :magic_missile).negative?
|
43
|
+
refute Magic.new(1, :magic_missile).negative?
|
44
|
+
end
|
45
|
+
|
11
46
|
test "#+ should add together same units" do
|
12
47
|
assert_equal Magic.new(5, :magic_missile), @two + @three
|
13
48
|
assert_equal Magic.new(5, :magic_missile), @three + @two
|
data/test/measurable_test.rb
CHANGED
@@ -232,6 +232,11 @@ class Measured::MeasurableTest < ActiveSupport::TestCase
|
|
232
232
|
assert_equal "9.34 magic_missile", Magic.new(9.342, :magic_missile).format
|
233
233
|
end
|
234
234
|
|
235
|
+
test "#format can drop the conversion amount" do
|
236
|
+
assert_equal "1.00 fireball (2/3 magic_missile)", Magic.new(1, :fireball).format
|
237
|
+
assert_equal "1.00 fireball", Magic.new(1, :fireball).format(with_conversion_string: false)
|
238
|
+
end
|
239
|
+
|
235
240
|
test "#humanize outputs the number and the unit properly pluralized" do
|
236
241
|
assert_equal "1 fireball", Magic.new("1", :fire).humanize
|
237
242
|
assert_equal "10 fireballs", Magic.new(10, :fire).humanize
|
@@ -246,12 +251,6 @@ class Measured::MeasurableTest < ActiveSupport::TestCase
|
|
246
251
|
assert_equal "#<Magic: 1.234 #<Measured::Unit: magic_missile (magic_missiles, magic missile)>>", Magic.new(1.234, :magic_missile).inspect
|
247
252
|
end
|
248
253
|
|
249
|
-
test "#zero? always returns false" do
|
250
|
-
refute_predicate Magic.new(0, :fire), :zero?
|
251
|
-
refute_predicate Magic.new(0.0, :fire), :zero?
|
252
|
-
refute_predicate Magic.new("0.0", :fire), :zero?
|
253
|
-
end
|
254
|
-
|
255
254
|
test "#<=> compares regardless of the unit" do
|
256
255
|
assert_equal (-1), @magic <=> Magic.new(20, :fire)
|
257
256
|
assert_equal 1, @magic <=> Magic.new(9, :magic_missile)
|
data/test/unit_test.rb
CHANGED
@@ -43,6 +43,10 @@ class Measured::UnitTest < ActiveSupport::TestCase
|
|
43
43
|
assert_equal "pie (1/2 sweet)", Measured::Unit.new(:pie, aliases: ["cake"], value: "0.5 sweet").to_s
|
44
44
|
end
|
45
45
|
|
46
|
+
test "#to_s can drop the conversion amount" do
|
47
|
+
assert_equal "pie", Measured::Unit.new(:pie).to_s(with_conversion_string: false)
|
48
|
+
end
|
49
|
+
|
46
50
|
test "#inspect returns an expected string" do
|
47
51
|
assert_equal "#<Measured::Unit: pie>", Measured::Unit.new(:pie).inspect
|
48
52
|
assert_equal "#<Measured::Unit: pie (cake, semi-sweet)>", Measured::Unit.new(:pie, aliases: ["cake", "semi-sweet"]).inspect
|
data/test/units/volume_test.rb
CHANGED
@@ -19,6 +19,16 @@ class Measured::VolumeTest < ActiveSupport::TestCase
|
|
19
19
|
liters
|
20
20
|
litres
|
21
21
|
ft3
|
22
|
+
cm3
|
23
|
+
cubic_centimeter
|
24
|
+
cubic_centimeters
|
25
|
+
cubic_centimetre
|
26
|
+
cubic_centimetres
|
27
|
+
mm3
|
28
|
+
cubic_millimeter
|
29
|
+
cubic_millimeters
|
30
|
+
cubic_millimetre
|
31
|
+
cubic_millimetres
|
22
32
|
cubic_foot
|
23
33
|
cubic_feet
|
24
34
|
in3
|
@@ -67,7 +77,7 @@ class Measured::VolumeTest < ActiveSupport::TestCase
|
|
67
77
|
end
|
68
78
|
|
69
79
|
test ".unit_names should be the list of base unit names" do
|
70
|
-
expected_units = %w(l m3 ft3 in3 gal us_gal qt us_qt pt us_pt oz us_oz)
|
80
|
+
expected_units = %w(l m3 ft3 in3 gal us_gal qt us_qt pt us_pt oz us_oz mm3 cm3)
|
71
81
|
expected_units += Measured::UnitSystemBuilder::SI_PREFIXES.map { |short, _, _| "#{short}l" }
|
72
82
|
assert_equal expected_units.sort, Measured::Volume.unit_names
|
73
83
|
end
|
@@ -124,6 +134,102 @@ class Measured::VolumeTest < ActiveSupport::TestCase
|
|
124
134
|
test ".convert_to from us_oz to us_oz" do
|
125
135
|
assert_conversion Measured::Volume, "2000 us_oz", "2000 us_oz"
|
126
136
|
end
|
137
|
+
|
138
|
+
test ".convert_to from mm3 to mm3" do
|
139
|
+
assert_conversion Measured::Volume, "20000 mm3", "20000 mm3"
|
140
|
+
end
|
141
|
+
|
142
|
+
test ".convert_to from cm3 to cm3" do
|
143
|
+
assert_conversion Measured::Volume, "20000 cm3", "20000 cm3"
|
144
|
+
end
|
145
|
+
|
146
|
+
test ".convert_to from mm3 to m3" do
|
147
|
+
assert_conversion Measured::Volume, "20000 mm3", "0.00002 m3"
|
148
|
+
end
|
149
|
+
|
150
|
+
test ".convert_to from mm3 to ft3" do
|
151
|
+
assert_conversion Measured::Volume, "20000 mm3", "0.00070629333 ft3"
|
152
|
+
end
|
153
|
+
|
154
|
+
test ".convert_to from mm3 to in3" do
|
155
|
+
assert_conversion Measured::Volume, "20000 mm3", "1.2204749 in3"
|
156
|
+
end
|
157
|
+
|
158
|
+
test ".convert_to from mm3 to gal" do
|
159
|
+
assert_conversion Measured::Volume, "20000 mm3", "0.004399384965981756 gal"
|
160
|
+
end
|
161
|
+
|
162
|
+
test ".convert_to from mm3 to us_gal" do
|
163
|
+
assert_conversion Measured::Volume, "20000 mm3", "0.005283441047162969 us_gal"
|
164
|
+
end
|
165
|
+
|
166
|
+
test ".convert_to from mm3 to qt" do
|
167
|
+
assert_conversion Measured::Volume, "20000 mm3", "0.01759754 qt"
|
168
|
+
end
|
169
|
+
|
170
|
+
test ".convert_to from mm3 to us_qt" do
|
171
|
+
assert_conversion Measured::Volume, "20000 mm3", "0.021133764 us_qt"
|
172
|
+
end
|
173
|
+
|
174
|
+
test ".convert_to from mm3 to pt" do
|
175
|
+
assert_conversion Measured::Volume, "20000 mm3", "0.03519508 pt"
|
176
|
+
end
|
177
|
+
|
178
|
+
test ".convert_to from mm3 to us_pt" do
|
179
|
+
assert_conversion Measured::Volume, "20000 mm3", "0.042267528 us_pt"
|
180
|
+
end
|
181
|
+
|
182
|
+
test ".convert_to from mm3 to oz" do
|
183
|
+
assert_conversion Measured::Volume, "20000 mm3", "0.70390159 oz"
|
184
|
+
end
|
185
|
+
|
186
|
+
test ".convert_to from mm3 to us_oz" do
|
187
|
+
assert_conversion Measured::Volume, "20000 mm3", "0.67628045 us_oz"
|
188
|
+
end
|
189
|
+
|
190
|
+
test ".convert_to from cm3 to m3" do
|
191
|
+
assert_conversion Measured::Volume, "20000 cm3", "0.02 m3"
|
192
|
+
end
|
193
|
+
|
194
|
+
test ".convert_to from cm3 to ft3" do
|
195
|
+
assert_conversion Measured::Volume, "20000 cm3", "0.70629333 ft3"
|
196
|
+
end
|
197
|
+
|
198
|
+
test ".convert_to from cm3 to in3" do
|
199
|
+
assert_conversion Measured::Volume, "20000 cm3", "1220.4748818946457 in3"
|
200
|
+
end
|
201
|
+
|
202
|
+
test ".convert_to from cm3 to gal" do
|
203
|
+
assert_conversion Measured::Volume, "20000 cm3", "4.399384965981756 gal"
|
204
|
+
end
|
205
|
+
|
206
|
+
test ".convert_to from cm3 to us_gal" do
|
207
|
+
assert_conversion Measured::Volume, "20000 cm3", "5.283441047162969 us_gal"
|
208
|
+
end
|
209
|
+
|
210
|
+
test ".convert_to from cm3 to qt" do
|
211
|
+
assert_conversion Measured::Volume, "20000 cm3", "17.59754 qt"
|
212
|
+
end
|
213
|
+
|
214
|
+
test ".convert_to from cm3 to us_qt" do
|
215
|
+
assert_conversion Measured::Volume, "20000 cm3", "21.133764 us_qt"
|
216
|
+
end
|
217
|
+
|
218
|
+
test ".convert_to from cm3 to pt" do
|
219
|
+
assert_conversion Measured::Volume, "20000 cm3", "35.19508 pt"
|
220
|
+
end
|
221
|
+
|
222
|
+
test ".convert_to from cm3 to us_pt" do
|
223
|
+
assert_conversion Measured::Volume, "20000 cm3", "42.267528 us_pt"
|
224
|
+
end
|
225
|
+
|
226
|
+
test ".convert_to from cm3 to oz" do
|
227
|
+
assert_conversion Measured::Volume, "20000 cm3", "703.9015945570809 oz"
|
228
|
+
end
|
229
|
+
|
230
|
+
test ".convert_to from cm3 to us_oz" do
|
231
|
+
assert_conversion Measured::Volume, "20000 cm3", "676.28045403686 us_oz"
|
232
|
+
end
|
127
233
|
|
128
234
|
test ".convert_to from ml to m3" do
|
129
235
|
assert_conversion Measured::Volume, "2000 ml", "0.002 m3"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: measured
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin McPhillips
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2021-
|
13
|
+
date: 2021-12-21 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -180,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
180
180
|
- !ruby/object:Gem::Version
|
181
181
|
version: '0'
|
182
182
|
requirements: []
|
183
|
-
rubygems_version: 3.
|
183
|
+
rubygems_version: 3.2.20
|
184
184
|
signing_key:
|
185
185
|
specification_version: 4
|
186
186
|
summary: Encapsulate measurements with their units in Ruby
|