measured 3.0.0 → 3.1.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b794b67ca5a9cc00444ec39526340e3f3710dc0395b7205aeb95f44d8ed698fe
4
- data.tar.gz: 2696f28b014ce76cded21150a1e1b4ef4772ef92a358ddf4e99b526081125d2a
3
+ metadata.gz: 3b304fbf20408beb13b8408d74c17747f00ccb991b586775b91249f2e90e9073
4
+ data.tar.gz: d8df7e3a16743234d79b1d8375f2f6d83e69f18824fdd1ff95c530fdd333d3a3
5
5
  SHA512:
6
- metadata.gz: 95c82144964349b7111b6a1d372384dc3721b3c5e79870c8b841b7468d6794f60702c2acb1be714fab6c5a858a26d0bc28c340ef987c61a5d94658ffd64eec25
7
- data.tar.gz: 49b6f68fd80cce3886824df3298c2d837ec0f257b0e4bb311231558b0d9a81eb9cb744f3746540eeaa740f6ad1f84bb578441fc6914841ac81ae57005638a1c0
6
+ metadata.gz: 3f7e92b9cdc9165c11dca6857ae9bbc141b938eb071e89f56ca1e13198fc6d281bde0abe4d3436d2f102d869057c5b1f60562bdcb2f9376739a4927b11ccb248
7
+ data.tar.gz: 4b3d830a1814b6b64dd9123a40e444918adf3a546b925bb57088bc2c4324da0ccd7040253a838d24f0c53ea1c749cbade548dee29f2995678be903f87af04dcf
@@ -0,0 +1,20 @@
1
+ version: 2
2
+ registries:
3
+ ruby-shopify:
4
+ type: rubygems-server
5
+ url: https://pkgs.shopify.io/basic/gems/ruby
6
+ username: ${{secrets.RUBYGEMS_SERVER_PKGS_SHOPIFY_IO_USERNAME}}
7
+ password: ${{secrets.RUBYGEMS_SERVER_PKGS_SHOPIFY_IO_PASSWORD}}
8
+ github-com:
9
+ type: git
10
+ url: https://github.com
11
+ username: ${{secrets.DEPENDENCIES_GITHUB_USER}}
12
+ password: ${{secrets.DEPENDENCIES_GITHUB_TOKEN}}
13
+ updates:
14
+ - package-ecosystem: bundler
15
+ directory: "/"
16
+ schedule:
17
+ interval: weekly
18
+ open-pull-requests-limit: 100
19
+ insecure-external-code-execution: allow
20
+ registries: "*"
@@ -10,18 +10,18 @@ jobs:
10
10
  strategy:
11
11
  matrix:
12
12
  ruby:
13
- - '3.0'
14
13
  - '3.1'
15
14
  - '3.2'
15
+ - '3.3'
16
16
  gemfile:
17
17
  - Gemfile
18
- - gemfiles/rails-6.0.gemfile
19
- - gemfiles/rails-6.1.gemfile
20
18
  - gemfiles/rails-7.0.gemfile
19
+ - gemfiles/rails-7.1.gemfile
21
20
  - gemfiles/rails-edge.gemfile
22
21
  exclude:
23
- # Rails Edge only supports Ruby >= 3.1
24
- - ruby: '3.0'
22
+ - ruby: '3.1'
23
+ gemfile: gemfiles/rails-edge.gemfile
24
+ - ruby: '3.2'
25
25
  gemfile: gemfiles/rails-edge.gemfile
26
26
 
27
27
  name: Ruby ${{ matrix.ruby }} ${{ matrix.gemfile }}
@@ -0,0 +1,93 @@
1
+ name: Dependabot auto-merge
2
+ on: pull_request_target
3
+
4
+ jobs:
5
+ dependabot:
6
+ runs-on: shopify-ubuntu-latest
7
+ if: ${{ github.event.pull_request.user.login == 'dependabot[bot]' }}
8
+ steps:
9
+ - name: Dependabot metadata
10
+ id: metadata
11
+ uses: dependabot/fetch-metadata@v1.6.0
12
+ with:
13
+ github-token: "${{ secrets.GITHUB_TOKEN }}"
14
+
15
+ - name: Waiting for CI to finish
16
+ id: check_ci_failure
17
+ continue-on-error: true
18
+ if: ${{ steps.metadata.outputs.update-type == 'version-update:semver-patch' || steps.metadata.outputs.update-type == 'version-update:semver-minor' || steps.metadata.outputs.dependency-group == 'auto_merge' }}
19
+ uses: actions/github-script@v6
20
+ with:
21
+ script: |
22
+ function sleep(ms) {
23
+ return new Promise(resolve => setTimeout(resolve, ms))
24
+ }
25
+ const query = `query ($org: String!, $repo: String!, $pullRequestNumber: Int!) {
26
+ organization(login: $org) {
27
+ repository(name: $repo) {
28
+ pullRequest(number: $pullRequestNumber) {
29
+ commits(last: 1) {
30
+ nodes {
31
+ commit {
32
+ status {
33
+ state
34
+ }
35
+ }
36
+ }
37
+ }
38
+ }
39
+ }
40
+ }
41
+ }`;
42
+ const variables = {
43
+ org: context.repo.owner,
44
+ repo: context.repo.repo,
45
+ pullRequestNumber: context.issue.number
46
+ }
47
+ // Try for 30 minutes
48
+ let attempts = 30
49
+ let ci_state = false
50
+ for (let i = 1; i <= attempts; i++) {
51
+ console.log(`Sleeping for 60 seconds`)
52
+ await sleep(60000)
53
+ const result = await github.graphql(query, variables)
54
+ const state = result["organization"]["repository"]["pullRequest"]["commits"]["nodes"][0]["commit"]["status"]["state"]
55
+ console.log(`Status is ${state} after ${i} attempts`)
56
+ if (state === "SUCCESS") {
57
+ ci_state = true
58
+ console.log("Proceeding with workflow as CI succeed")
59
+ break
60
+ }
61
+ }
62
+ core.setOutput("ci_state", ci_state)
63
+ - name: Send Slack notification if auto-merge failed
64
+ if: ${{ steps.check_ci_failure.outputs.ci_state == 'false' }}
65
+ uses: ruby/action-slack@v3.0.0
66
+ with:
67
+ payload: |
68
+ {
69
+ "attachments": [{
70
+ "text": "Auto-merge failed for pull request <${{ github.event.pull_request.html_url }}|#${{ github.event.pull_request.number }}> in repository ${{ github.repository }}",
71
+ "color": "danger"
72
+ }
73
+ ]
74
+ }
75
+ env:
76
+ SLACK_WEBHOOK_URL: ${{ secrets.METRICS_SLACK_WEBHOOK_URL }}
77
+
78
+ - name: Approve and merge
79
+ if: ${{ steps.check_ci_failure.outputs.ci_state == 'true' && (steps.metadata.outputs.update-type == 'version-update:semver-patch' || steps.metadata.outputs.update-type == 'version-update:semver-minor' || steps.metadata.outputs.dependency-group == 'auto_merge') }}
80
+ uses: actions/github-script@v6
81
+ with:
82
+ script: |
83
+ await github.rest.pulls.createReview({
84
+ pull_number: context.issue.number,
85
+ owner: context.repo.owner,
86
+ repo: context.repo.repo,
87
+ event: 'APPROVE',
88
+ })
89
+ await github.rest.pulls.merge({
90
+ owner: context.repo.owner,
91
+ repo: context.repo.repo,
92
+ issue_number: context.issue.number,
93
+ })
data/CHANGELOG.md CHANGED
@@ -2,6 +2,11 @@ Unreleased
2
2
  -----
3
3
 
4
4
 
5
+ 3.1.0
6
+ -----
7
+ * Drop support for Rails 6 and Ruby 3.0.
8
+ * Add qunitals. Add aliases for UK ton/tonne. (@ragarwal6397)
9
+
5
10
 
6
11
  3.0.0
7
12
  -----
data/cache/weight.json CHANGED
@@ -89,6 +89,10 @@
89
89
  "numerator": 1,
90
90
  "denominator": 1000000
91
91
  },
92
+ "q": {
93
+ "numerator": 1,
94
+ "denominator": 100000
95
+ },
92
96
  "slug": {
93
97
  "numerator": 1000,
94
98
  "denominator": 14593903
@@ -203,6 +207,10 @@
203
207
  "numerator": 1,
204
208
  "denominator": 1000000000000000000000000000000
205
209
  },
210
+ "q": {
211
+ "numerator": 1,
212
+ "denominator": 100000000000000000000000000000
213
+ },
206
214
  "slug": {
207
215
  "numerator": 1,
208
216
  "denominator": 14593903000000000000000000000
@@ -317,6 +325,10 @@
317
325
  "numerator": 1,
318
326
  "denominator": 1000000000000000000000000000
319
327
  },
328
+ "q": {
329
+ "numerator": 1,
330
+ "denominator": 100000000000000000000000000
331
+ },
320
332
  "slug": {
321
333
  "numerator": 1,
322
334
  "denominator": 14593903000000000000000000
@@ -431,6 +443,10 @@
431
443
  "numerator": 1,
432
444
  "denominator": 1000000000000000000000000
433
445
  },
446
+ "q": {
447
+ "numerator": 1,
448
+ "denominator": 100000000000000000000000
449
+ },
434
450
  "slug": {
435
451
  "numerator": 1,
436
452
  "denominator": 14593903000000000000000
@@ -545,6 +561,10 @@
545
561
  "numerator": 1,
546
562
  "denominator": 1000000000000000000000
547
563
  },
564
+ "q": {
565
+ "numerator": 1,
566
+ "denominator": 100000000000000000000
567
+ },
548
568
  "slug": {
549
569
  "numerator": 1,
550
570
  "denominator": 14593903000000000000
@@ -659,6 +679,10 @@
659
679
  "numerator": 1,
660
680
  "denominator": 1000000000000000000
661
681
  },
682
+ "q": {
683
+ "numerator": 1,
684
+ "denominator": 100000000000000000
685
+ },
662
686
  "slug": {
663
687
  "numerator": 1,
664
688
  "denominator": 14593903000000000
@@ -773,6 +797,10 @@
773
797
  "numerator": 1,
774
798
  "denominator": 1000000000000000
775
799
  },
800
+ "q": {
801
+ "numerator": 1,
802
+ "denominator": 100000000000000
803
+ },
776
804
  "slug": {
777
805
  "numerator": 1,
778
806
  "denominator": 14593903000000
@@ -887,6 +915,10 @@
887
915
  "numerator": 1,
888
916
  "denominator": 1000000000000
889
917
  },
918
+ "q": {
919
+ "numerator": 1,
920
+ "denominator": 100000000000
921
+ },
890
922
  "slug": {
891
923
  "numerator": 1,
892
924
  "denominator": 14593903000
@@ -1001,6 +1033,10 @@
1001
1033
  "numerator": 1,
1002
1034
  "denominator": 1000000000
1003
1035
  },
1036
+ "q": {
1037
+ "numerator": 1,
1038
+ "denominator": 100000000
1039
+ },
1004
1040
  "slug": {
1005
1041
  "numerator": 1,
1006
1042
  "denominator": 14593903
@@ -1115,6 +1151,10 @@
1115
1151
  "numerator": 1,
1116
1152
  "denominator": 100000000
1117
1153
  },
1154
+ "q": {
1155
+ "numerator": 1,
1156
+ "denominator": 10000000
1157
+ },
1118
1158
  "slug": {
1119
1159
  "numerator": 10,
1120
1160
  "denominator": 14593903
@@ -1229,6 +1269,10 @@
1229
1269
  "numerator": 1,
1230
1270
  "denominator": 10000000
1231
1271
  },
1272
+ "q": {
1273
+ "numerator": 1,
1274
+ "denominator": 1000000
1275
+ },
1232
1276
  "slug": {
1233
1277
  "numerator": 100,
1234
1278
  "denominator": 14593903
@@ -1343,6 +1387,10 @@
1343
1387
  "numerator": 1,
1344
1388
  "denominator": 100000
1345
1389
  },
1390
+ "q": {
1391
+ "numerator": 1,
1392
+ "denominator": 10000
1393
+ },
1346
1394
  "slug": {
1347
1395
  "numerator": 10000,
1348
1396
  "denominator": 14593903
@@ -1457,6 +1505,10 @@
1457
1505
  "numerator": 1,
1458
1506
  "denominator": 10000
1459
1507
  },
1508
+ "q": {
1509
+ "numerator": 1,
1510
+ "denominator": 1000
1511
+ },
1460
1512
  "slug": {
1461
1513
  "numerator": 100000,
1462
1514
  "denominator": 14593903
@@ -1571,6 +1623,10 @@
1571
1623
  "numerator": 1,
1572
1624
  "denominator": 1000
1573
1625
  },
1626
+ "q": {
1627
+ "numerator": 1,
1628
+ "denominator": 100
1629
+ },
1574
1630
  "slug": {
1575
1631
  "numerator": 1000000,
1576
1632
  "denominator": 14593903
@@ -1685,6 +1741,10 @@
1685
1741
  "numerator": 1,
1686
1742
  "denominator": 1
1687
1743
  },
1744
+ "q": {
1745
+ "numerator": 10,
1746
+ "denominator": 1
1747
+ },
1688
1748
  "slug": {
1689
1749
  "numerator": 1000000000,
1690
1750
  "denominator": 14593903
@@ -1799,6 +1859,10 @@
1799
1859
  "numerator": 1000,
1800
1860
  "denominator": 1
1801
1861
  },
1862
+ "q": {
1863
+ "numerator": 10000,
1864
+ "denominator": 1
1865
+ },
1802
1866
  "slug": {
1803
1867
  "numerator": 1000000000000,
1804
1868
  "denominator": 14593903
@@ -1913,6 +1977,10 @@
1913
1977
  "numerator": 1000000,
1914
1978
  "denominator": 1
1915
1979
  },
1980
+ "q": {
1981
+ "numerator": 10000000,
1982
+ "denominator": 1
1983
+ },
1916
1984
  "slug": {
1917
1985
  "numerator": 1000000000000000,
1918
1986
  "denominator": 14593903
@@ -2027,6 +2095,10 @@
2027
2095
  "numerator": 1000000000,
2028
2096
  "denominator": 1
2029
2097
  },
2098
+ "q": {
2099
+ "numerator": 10000000000,
2100
+ "denominator": 1
2101
+ },
2030
2102
  "slug": {
2031
2103
  "numerator": 1000000000000000000,
2032
2104
  "denominator": 14593903
@@ -2141,6 +2213,10 @@
2141
2213
  "numerator": 1000000000000,
2142
2214
  "denominator": 1
2143
2215
  },
2216
+ "q": {
2217
+ "numerator": 10000000000000,
2218
+ "denominator": 1
2219
+ },
2144
2220
  "slug": {
2145
2221
  "numerator": 1000000000000000000000,
2146
2222
  "denominator": 14593903
@@ -2255,6 +2331,10 @@
2255
2331
  "numerator": 1000000000000000,
2256
2332
  "denominator": 1
2257
2333
  },
2334
+ "q": {
2335
+ "numerator": 10000000000000000,
2336
+ "denominator": 1
2337
+ },
2258
2338
  "slug": {
2259
2339
  "numerator": 1000000000000000000000000,
2260
2340
  "denominator": 14593903
@@ -2369,6 +2449,10 @@
2369
2449
  "numerator": 1000000000000000000,
2370
2450
  "denominator": 1
2371
2451
  },
2452
+ "q": {
2453
+ "numerator": 10000000000000000000,
2454
+ "denominator": 1
2455
+ },
2372
2456
  "slug": {
2373
2457
  "numerator": 1000000000000000000000000000,
2374
2458
  "denominator": 14593903
@@ -2483,6 +2567,10 @@
2483
2567
  "numerator": 1,
2484
2568
  "denominator": 1000000000000000000
2485
2569
  },
2570
+ "q": {
2571
+ "numerator": 10,
2572
+ "denominator": 1
2573
+ },
2486
2574
  "slug": {
2487
2575
  "numerator": 1000000000,
2488
2576
  "denominator": 14593903
@@ -2508,6 +2596,124 @@
2508
2596
  "denominator": 45359237
2509
2597
  }
2510
2598
  },
2599
+ "q": {
2600
+ "q": {
2601
+ "numerator": 1,
2602
+ "denominator": 1
2603
+ },
2604
+ "g": {
2605
+ "numerator": 100000,
2606
+ "denominator": 1
2607
+ },
2608
+ "yg": {
2609
+ "numerator": 100000000000000000000000000000,
2610
+ "denominator": 1
2611
+ },
2612
+ "zg": {
2613
+ "numerator": 100000000000000000000000000,
2614
+ "denominator": 1
2615
+ },
2616
+ "ag": {
2617
+ "numerator": 100000000000000000000000,
2618
+ "denominator": 1
2619
+ },
2620
+ "fg": {
2621
+ "numerator": 100000000000000000000,
2622
+ "denominator": 1
2623
+ },
2624
+ "pg": {
2625
+ "numerator": 100000000000000000,
2626
+ "denominator": 1
2627
+ },
2628
+ "ng": {
2629
+ "numerator": 100000000000000,
2630
+ "denominator": 1
2631
+ },
2632
+ "μg": {
2633
+ "numerator": 100000000000,
2634
+ "denominator": 1
2635
+ },
2636
+ "mg": {
2637
+ "numerator": 100000000,
2638
+ "denominator": 1
2639
+ },
2640
+ "cg": {
2641
+ "numerator": 10000000,
2642
+ "denominator": 1
2643
+ },
2644
+ "dg": {
2645
+ "numerator": 1000000,
2646
+ "denominator": 1
2647
+ },
2648
+ "dag": {
2649
+ "numerator": 10000,
2650
+ "denominator": 1
2651
+ },
2652
+ "hg": {
2653
+ "numerator": 1000,
2654
+ "denominator": 1
2655
+ },
2656
+ "kg": {
2657
+ "numerator": 100,
2658
+ "denominator": 1
2659
+ },
2660
+ "Mg": {
2661
+ "numerator": 1,
2662
+ "denominator": 10
2663
+ },
2664
+ "Gg": {
2665
+ "numerator": 1,
2666
+ "denominator": 10000
2667
+ },
2668
+ "Tg": {
2669
+ "numerator": 1,
2670
+ "denominator": 10000000
2671
+ },
2672
+ "Pg": {
2673
+ "numerator": 1,
2674
+ "denominator": 10000000000
2675
+ },
2676
+ "Eg": {
2677
+ "numerator": 1,
2678
+ "denominator": 10000000000000
2679
+ },
2680
+ "Zg": {
2681
+ "numerator": 1,
2682
+ "denominator": 10000000000000000
2683
+ },
2684
+ "Yg": {
2685
+ "numerator": 1,
2686
+ "denominator": 10000000000000000000
2687
+ },
2688
+ "t": {
2689
+ "numerator": 1,
2690
+ "denominator": 10
2691
+ },
2692
+ "slug": {
2693
+ "numerator": 100000000,
2694
+ "denominator": 14593903
2695
+ },
2696
+ "N": {
2697
+ "numerator": 10000000000000000000,
2698
+ "denominator": 10197162129779283
2699
+ },
2700
+ "long_ton": {
2701
+ "numerator": 31250000,
2702
+ "denominator": 317514659
2703
+ },
2704
+ "short_ton": {
2705
+ "numerator": 5000000,
2706
+ "denominator": 45359237
2707
+ },
2708
+ "lb": {
2709
+ "numerator": 10000000000,
2710
+ "denominator": 45359237
2711
+ },
2712
+ "oz": {
2713
+ "numerator": 160000000000,
2714
+ "denominator": 45359237
2715
+ }
2716
+ },
2511
2717
  "slug": {
2512
2718
  "slug": {
2513
2719
  "numerator": 1,
@@ -2601,6 +2807,10 @@
2601
2807
  "numerator": 14593903,
2602
2808
  "denominator": 1000000000
2603
2809
  },
2810
+ "q": {
2811
+ "numerator": 14593903,
2812
+ "denominator": 100000000
2813
+ },
2604
2814
  "N": {
2605
2815
  "numerator": 1459390300000000000,
2606
2816
  "denominator": 10197162129779283
@@ -2715,6 +2925,10 @@
2715
2925
  "numerator": 10197162129779283,
2716
2926
  "denominator": 100000000000000000000
2717
2927
  },
2928
+ "q": {
2929
+ "numerator": 10197162129779283,
2930
+ "denominator": 10000000000000000000
2931
+ },
2718
2932
  "slug": {
2719
2933
  "numerator": 10197162129779283,
2720
2934
  "denominator": 1459390300000000000
@@ -2829,6 +3043,10 @@
2829
3043
  "numerator": 317514659,
2830
3044
  "denominator": 312500000
2831
3045
  },
3046
+ "q": {
3047
+ "numerator": 317514659,
3048
+ "denominator": 31250000
3049
+ },
2832
3050
  "slug": {
2833
3051
  "numerator": 5080234544,
2834
3052
  "denominator": 72969515
@@ -2943,6 +3161,10 @@
2943
3161
  "numerator": 45359237,
2944
3162
  "denominator": 50000000
2945
3163
  },
3164
+ "q": {
3165
+ "numerator": 45359237,
3166
+ "denominator": 5000000
3167
+ },
2946
3168
  "slug": {
2947
3169
  "numerator": 907184740,
2948
3170
  "denominator": 14593903
@@ -3057,6 +3279,10 @@
3057
3279
  "numerator": 45359237,
3058
3280
  "denominator": 100000000000
3059
3281
  },
3282
+ "q": {
3283
+ "numerator": 45359237,
3284
+ "denominator": 10000000000
3285
+ },
3060
3286
  "slug": {
3061
3287
  "numerator": 45359237,
3062
3288
  "denominator": 1459390300
@@ -3171,6 +3397,10 @@
3171
3397
  "numerator": 45359237,
3172
3398
  "denominator": 1600000000000
3173
3399
  },
3400
+ "q": {
3401
+ "numerator": 45359237,
3402
+ "denominator": 160000000000
3403
+ },
3174
3404
  "slug": {
3175
3405
  "numerator": 45359237,
3176
3406
  "denominator": 23350244800
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '..'
4
+
5
+ gem 'activesupport', '~> 7.1'
6
+ gem "activerecord", '~> 7.1'
@@ -2,7 +2,8 @@
2
2
  Measured::Weight = Measured.build do
3
3
  si_unit :g, aliases: [:gram, :grams, :gm, :gms]
4
4
 
5
- unit :t, value: "1000 kg", aliases: [:metric_ton, :metric_tons]
5
+ unit :t, value: "1000 kg", aliases: [:metric_ton, :metric_tons, :tonne, :tonnes]
6
+ unit :q, value: "100 kg", aliases: [:quintal, :quintals]
6
7
  unit :slug, value: "14.593903 kg", aliases: [:slugs]
7
8
  unit :N, value: "0.10197162129779283 kg", aliases: [:newtons, :newton]
8
9
  unit :long_ton, value: "2240 lb", aliases: [:long_tons, :weight_ton, :weight_tons, 'W/T', :imperial_ton, :imperial_tons, :displacement_ton, :displacement_tons]
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Measured
3
- VERSION = "3.0.0"
3
+ VERSION = "3.1.0"
4
4
  end
data/measured.gemspec CHANGED
@@ -36,6 +36,6 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency "mocha", ">= 1.4.0"
37
37
  spec.add_development_dependency "pry"
38
38
  spec.add_development_dependency "combustion"
39
- spec.add_development_dependency "sqlite3", "~> 1.4"
39
+ spec.add_development_dependency "sqlite3", "> 1.4"
40
40
  spec.add_development_dependency "tapioca"
41
41
  end
@@ -25,6 +25,11 @@ class Measured::WeightTest < ActiveSupport::TestCase
25
25
  long_tons
26
26
  metric_ton
27
27
  metric_tons
28
+ tonne
29
+ tonnes
30
+ q
31
+ quintal
32
+ quintals
28
33
  newton
29
34
  newtons
30
35
  ounce
@@ -48,7 +53,7 @@ class Measured::WeightTest < ActiveSupport::TestCase
48
53
  end
49
54
 
50
55
  test ".unit_names should be the list of base unit names" do
51
- expected_units = %w(N g lb long_ton oz short_ton slug t)
56
+ expected_units = %w(N g lb long_ton oz short_ton slug t q)
52
57
  expected_units += Measured::UnitSystemBuilder::SI_PREFIXES.map { |short, _, _| "#{short}g" }
53
58
  assert_equal expected_units.sort, Measured::Weight.unit_names
54
59
  end
@@ -98,6 +103,10 @@ class Measured::WeightTest < ActiveSupport::TestCase
98
103
  assert_exact_conversion Measured::Weight, "2000 g", "0.002 t"
99
104
  end
100
105
 
106
+ test ".convert_to from g to q" do
107
+ assert_exact_conversion Measured::Weight, "2000 g", "0.02 q"
108
+ end
109
+
101
110
  test ".convert_to from kg to g" do
102
111
  assert_exact_conversion Measured::Weight, "2000 kg", "2000000 g"
103
112
  end
@@ -134,6 +143,10 @@ class Measured::WeightTest < ActiveSupport::TestCase
134
143
  assert_exact_conversion Measured::Weight, "2000 kg", "2 t"
135
144
  end
136
145
 
146
+ test ".convert_to from kg to q" do
147
+ assert_exact_conversion Measured::Weight, "2000 kg", "20 q"
148
+ end
149
+
137
150
  test ".convert_to from lb to g" do
138
151
  assert_exact_conversion Measured::Weight, "2000 lb", "907184.74 g"
139
152
  end
@@ -170,6 +183,10 @@ class Measured::WeightTest < ActiveSupport::TestCase
170
183
  assert_conversion Measured::Weight, "2000 lb", "0.90718474 t"
171
184
  end
172
185
 
186
+ test ".convert_to from lb to q" do
187
+ assert_conversion Measured::Weight, "2000 lb", "9.0718474 q"
188
+ end
189
+
173
190
  test ".convert_to from oz to g" do
174
191
  assert_conversion Measured::Weight, "2000 oz", "56699.04625 g"
175
192
  end
@@ -206,6 +223,10 @@ class Measured::WeightTest < ActiveSupport::TestCase
206
223
  assert_conversion Measured::Weight, "2000 oz", "0.05669904625 t"
207
224
  end
208
225
 
226
+ test ".convert_to from oz to q" do
227
+ assert_conversion Measured::Weight, "2000 oz", "0.5669904625 q"
228
+ end
229
+
209
230
  test ".convert_to from slug to g" do
210
231
  assert_conversion Measured::Weight, "2000 slug", "29187806 g"
211
232
  end
@@ -242,6 +263,10 @@ class Measured::WeightTest < ActiveSupport::TestCase
242
263
  assert_conversion Measured::Weight, "2000 slug", "29.187806 t"
243
264
  end
244
265
 
266
+ test ".convert_to from slug to q" do
267
+ assert_conversion Measured::Weight, "2000 slug", "291.87806 q"
268
+ end
269
+
245
270
  test ".convert_to from short_ton to g" do
246
271
  assert_conversion Measured::Weight, "2000 short_ton", "1814369480 g"
247
272
  end
@@ -278,6 +303,10 @@ class Measured::WeightTest < ActiveSupport::TestCase
278
303
  assert_conversion Measured::Weight, "2000 short_ton", "1814.36948 t"
279
304
  end
280
305
 
306
+ test ".convert_to from short_ton to q" do
307
+ assert_conversion Measured::Weight, "2000 short_ton", "18143.6948 q"
308
+ end
309
+
281
310
  test ".convert_to from long_ton to g" do
282
311
  assert_conversion Measured::Weight, "2000 long_ton", "2032093817.6 g"
283
312
  end
@@ -314,6 +343,10 @@ class Measured::WeightTest < ActiveSupport::TestCase
314
343
  assert_conversion Measured::Weight, "2000 long_ton", "2032.0938176 t"
315
344
  end
316
345
 
346
+ test ".convert_to from long_ton to q" do
347
+ assert_conversion Measured::Weight, "2000 long_ton", "20320.938176 q"
348
+ end
349
+
317
350
  test ".convert_to from N to g" do
318
351
  assert_conversion Measured::Weight, "2000 N", "203943.24259558567 g"
319
352
  end
@@ -350,6 +383,10 @@ class Measured::WeightTest < ActiveSupport::TestCase
350
383
  assert_conversion Measured::Weight, "2000 N", "0.2039432425955857 t"
351
384
  end
352
385
 
386
+ test ".convert_to from N to q" do
387
+ assert_conversion Measured::Weight, "2000 N", "2.039432425955857 q"
388
+ end
389
+
353
390
  test ".convert_to from t to g" do
354
391
  assert_exact_conversion Measured::Weight, "2000 t", "2000000000 g"
355
392
  end
@@ -377,4 +414,40 @@ class Measured::WeightTest < ActiveSupport::TestCase
377
414
  test ".convert_to from t to t" do
378
415
  assert_conversion Measured::Weight, "2000 t", "2000 t"
379
416
  end
417
+
418
+ test ".convert_to from t to q" do
419
+ assert_conversion Measured::Weight, "2000 t", "20000 q"
420
+ end
421
+
422
+ test ".convert_to from q to g" do
423
+ assert_exact_conversion Measured::Weight, "2000 q", "200000000 g"
424
+ end
425
+
426
+ test ".convert_to from q to kg" do
427
+ assert_exact_conversion Measured::Weight, "2000 q", "200000 kg"
428
+ end
429
+
430
+ test ".convert_to from q to lb" do
431
+ assert_conversion Measured::Weight, "2000 q", "440924.5243697552 lb"
432
+ end
433
+
434
+ test ".convert_to from q to oz" do
435
+ assert_conversion Measured::Weight, "2000 q", "7054792.389916082 oz"
436
+ end
437
+
438
+ test ".convert_to from q to slug" do
439
+ assert_conversion Measured::Weight, "2000 q", "13704.35311239221 slug"
440
+ end
441
+
442
+ test ".convert_to from q to short_ton" do
443
+ assert_conversion Measured::Weight, "2000 q", "220.4622621848 short_ton"
444
+ end
445
+
446
+ test ".convert_to from q to t" do
447
+ assert_conversion Measured::Weight, "2000 q", "200 t"
448
+ end
449
+
450
+ test ".convert_to from q to q" do
451
+ assert_conversion Measured::Weight, "2000 q", "2000 q"
452
+ end
380
453
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: measured
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin McPhillips
8
8
  - Jason Gedge
9
9
  - Javier Honduvilla Coto
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2024-04-19 00:00:00.000000000 Z
13
+ date: 2024-10-03 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -114,14 +114,14 @@ dependencies:
114
114
  name: sqlite3
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - "~>"
117
+ - - ">"
118
118
  - !ruby/object:Gem::Version
119
119
  version: '1.4'
120
120
  type: :development
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
- - - "~>"
124
+ - - ">"
125
125
  - !ruby/object:Gem::Version
126
126
  version: '1.4'
127
127
  - !ruby/object:Gem::Dependency
@@ -146,8 +146,10 @@ executables: []
146
146
  extensions: []
147
147
  extra_rdoc_files: []
148
148
  files:
149
+ - ".github/dependabot.yml"
149
150
  - ".github/workflows/ci.yml"
150
151
  - ".github/workflows/cla.yml"
152
+ - ".github/workflows/dependabot_auto_merge.yml"
151
153
  - ".gitignore"
152
154
  - ".ruby-version"
153
155
  - CHANGELOG.md
@@ -160,9 +162,8 @@ files:
160
162
  - cache/volume.json
161
163
  - cache/weight.json
162
164
  - dev.yml
163
- - gemfiles/rails-6.0.gemfile
164
- - gemfiles/rails-6.1.gemfile
165
165
  - gemfiles/rails-7.0.gemfile
166
+ - gemfiles/rails-7.1.gemfile
166
167
  - gemfiles/rails-edge.gemfile
167
168
  - lib/measured.rb
168
169
  - lib/measured/arithmetic.rb
@@ -226,7 +227,7 @@ licenses:
226
227
  - MIT
227
228
  metadata:
228
229
  allowed_push_host: https://rubygems.org
229
- post_install_message:
230
+ post_install_message:
230
231
  rdoc_options: []
231
232
  require_paths:
232
233
  - lib
@@ -241,8 +242,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
241
242
  - !ruby/object:Gem::Version
242
243
  version: '0'
243
244
  requirements: []
244
- rubygems_version: 3.5.9
245
- signing_key:
245
+ rubygems_version: 3.5.20
246
+ signing_key:
246
247
  specification_version: 4
247
248
  summary: Encapsulate measurements with their units in Ruby
248
249
  test_files:
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec path: '..'
4
-
5
- gem 'activesupport', '~> 6.0'
6
- gem "activerecord", '~> 6.0'
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec path: '..'
4
-
5
- gem 'activesupport', '~> 6.1'
6
- gem "activerecord", '~> 6.1'