unit_measurements 3.8.0 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -2
- data/Gemfile.lock +1 -1
- data/README.md +68 -80
- data/lib/unit_measurements/arithmetic.rb +4 -4
- data/lib/unit_measurements/base.rb +2 -3
- data/lib/unit_measurements/comparison.rb +2 -1
- data/lib/unit_measurements/conversion.rb +5 -5
- data/lib/unit_measurements/errors/primitive_unit_already_set_error.rb +11 -0
- data/lib/unit_measurements/formatter.rb +2 -2
- data/lib/unit_measurements/math.rb +5 -5
- data/lib/unit_measurements/measurement.rb +5 -11
- data/lib/unit_measurements/normalizer.rb +21 -28
- data/lib/unit_measurements/unit.rb +8 -5
- data/lib/unit_measurements/unit_group.rb +41 -7
- data/lib/unit_measurements/unit_group_builder.rb +10 -27
- data/lib/unit_measurements/unit_groups/acceleration.rb +8 -6
- data/lib/unit_measurements/unit_groups/all.rb +6 -6
- data/lib/unit_measurements/unit_groups/amount_of_substance.rb +4 -4
- data/lib/unit_measurements/unit_groups/angular_acceleration.rb +5 -5
- data/lib/unit_measurements/unit_groups/angular_velocity.rb +14 -14
- data/lib/unit_measurements/unit_groups/area.rb +8 -10
- data/lib/unit_measurements/unit_groups/density.rb +7 -8
- data/lib/unit_measurements/unit_groups/electric_charge.rb +7 -9
- data/lib/unit_measurements/unit_groups/electric_conductance.rb +18 -0
- data/lib/unit_measurements/unit_groups/electric_current.rb +6 -8
- data/lib/unit_measurements/unit_groups/electric_potential.rb +19 -0
- data/lib/unit_measurements/unit_groups/electrical_capacitance.rb +18 -0
- data/lib/unit_measurements/unit_groups/electrical_elastance.rb +13 -0
- data/lib/unit_measurements/unit_groups/electrical_inductance.rb +18 -0
- data/lib/unit_measurements/unit_groups/electrical_resistance.rb +19 -0
- data/lib/unit_measurements/unit_groups/force.rb +9 -11
- data/lib/unit_measurements/unit_groups/length.rb +7 -9
- data/lib/unit_measurements/unit_groups/luminous_intensity.rb +4 -4
- data/lib/unit_measurements/unit_groups/magnetic_field.rb +4 -4
- data/lib/unit_measurements/unit_groups/magnetic_flux.rb +6 -7
- data/lib/unit_measurements/unit_groups/magnetic_induction.rb +4 -6
- data/lib/unit_measurements/unit_groups/plane_angle.rb +11 -10
- data/lib/unit_measurements/unit_groups/quantity.rb +7 -5
- data/lib/unit_measurements/unit_groups/solid_angle.rb +7 -7
- data/lib/unit_measurements/unit_groups/sound_level.rb +4 -4
- data/lib/unit_measurements/unit_groups/temperature.rb +4 -4
- data/lib/unit_measurements/unit_groups/time.rb +13 -12
- data/lib/unit_measurements/unit_groups/velocity.rb +12 -16
- data/lib/unit_measurements/unit_groups/volume.rb +12 -14
- data/lib/unit_measurements/unit_groups/weight.rb +5 -5
- data/lib/unit_measurements/version.rb +1 -1
- data/units.md +72 -72
- metadata +9 -10
- data/lib/unit_measurements/unit_groups/capacitance.rb +0 -19
- data/lib/unit_measurements/unit_groups/conductance.rb +0 -19
- data/lib/unit_measurements/unit_groups/elastance.rb +0 -12
- data/lib/unit_measurements/unit_groups/inductance.rb +0 -19
- data/lib/unit_measurements/unit_groups/resistance.rb +0 -20
- data/lib/unit_measurements/unit_groups/voltage.rb +0 -21
- data/lib/unit_measurements/unit_methods.rb +0 -45
- data/lib/unit_measurements/unit_system.rb +0 -29
data/units.md
CHANGED
@@ -5,8 +5,7 @@ bundled units before converting your measurements.
|
|
5
5
|
|
6
6
|
**Notes:**
|
7
7
|
1. Unit names suffixed with `*` support all [SI prefixes](README.md#si-units-support).
|
8
|
-
|
9
|
-
Below are the units which are bundled in the unit_measurements.
|
8
|
+
2. Primitive unit of the unit group is in _emphasis typeface_.
|
10
9
|
|
11
10
|
## 1. Length/Distance
|
12
11
|
|
@@ -14,7 +13,7 @@ These units are defined in `UnitMeasurements::Length`.
|
|
14
13
|
|
15
14
|
| # | Name | Aliases |
|
16
15
|
|:--|:--|:--|
|
17
|
-
|
|
16
|
+
| _1_ | _m*_ | _meter, metre, meters, metres_ |
|
18
17
|
| 2 | in | ", inch, inches |
|
19
18
|
| 3 | ft | ', foot, feet |
|
20
19
|
| 4 | yd | yard, yards |
|
@@ -26,7 +25,7 @@ These units are defined in `UnitMeasurements::Weight`.
|
|
26
25
|
|
27
26
|
| # | Name | Aliases |
|
28
27
|
|--|--|--|
|
29
|
-
|
|
28
|
+
| _1_ | _g*_ | _gram, grams, gramme, grammes_ |
|
30
29
|
| 2 | q | quintal, quintals |
|
31
30
|
| 3 | t | tonne, tonnes, metric tonne, metric tonnes |
|
32
31
|
|
@@ -36,13 +35,13 @@ These units are defined in `UnitMeasurements::Time`.
|
|
36
35
|
|
37
36
|
| # | Name | Aliases |
|
38
37
|
|:--|:--|:--|
|
39
|
-
|
|
38
|
+
| _1_ | _s*_ | _sec, second, seconds_ |
|
40
39
|
| 2 | h | hr, hour, hours |
|
41
40
|
| 3 | d | day, days |
|
42
41
|
| 4 | wk | week, weeks |
|
43
|
-
| 5 |
|
44
|
-
| 6 |
|
45
|
-
| 7 |
|
42
|
+
| 5 | mo | month, months |
|
43
|
+
| 6 | yr | y, year, years |
|
44
|
+
| 7 | ftn | 4tnite, fortnight, fortnights |
|
46
45
|
| 8 | min | minute, minutes |
|
47
46
|
| 9 | qtr | quarter, quarters |
|
48
47
|
| 10 | dec | decade, decades |
|
@@ -54,7 +53,7 @@ These units are defined in `UnitMeasurements::AmountOfSubstance`.
|
|
54
53
|
|
55
54
|
| # | Name | Aliases |
|
56
55
|
|:--|:--|:--|
|
57
|
-
|
|
56
|
+
| _1_ | _mol*_ | _mole, moles_ |
|
58
57
|
| 2 | NA | avogadro constant |
|
59
58
|
|
60
59
|
## 5. Electric current
|
@@ -63,7 +62,7 @@ These units are defined in `UnitMeasurements::ElectricCurrent`.
|
|
63
62
|
|
64
63
|
| # | Name | Aliases |
|
65
64
|
|:--|:--|:--|
|
66
|
-
|
|
65
|
+
| _1_ | _A*_ | _amp, ampere, amperes_ |
|
67
66
|
| 2 | abA | abampere, abamperes |
|
68
67
|
| 3 | Bi | biot, biots |
|
69
68
|
| 4 | statA | statampere, statamperes |
|
@@ -74,7 +73,7 @@ These units are defined in `UnitMeasurements::LuminousIntensity`.
|
|
74
73
|
|
75
74
|
| # | Name | Aliases |
|
76
75
|
|:--|:--|:--|
|
77
|
-
|
|
76
|
+
| _1_ | _cd*_ | _candela, candelas_ |
|
78
77
|
| 2 | hk | hefnerkerze |
|
79
78
|
|
80
79
|
## 7. Temperature
|
@@ -83,7 +82,7 @@ These units are defined in `UnitMeasurements::Temperature`.
|
|
83
82
|
|
84
83
|
| # | Name | Aliases |
|
85
84
|
|:--|:--|:--|
|
86
|
-
|
|
85
|
+
| _1_ | _K*_ | _kelvin, kelvins_ |
|
87
86
|
| 2 | °R | R, °Ra, Ra, rankine |
|
88
87
|
|
89
88
|
## 8. Area
|
@@ -92,7 +91,7 @@ These units are defined in `UnitMeasurements::Area`.
|
|
92
91
|
|
93
92
|
| # | Name | Aliases |
|
94
93
|
|:--|:--|:--|
|
95
|
-
|
|
94
|
+
| _1_ | _m²_ | _m^2, sq m, square meter, square meters, square metre, square metres_ |
|
96
95
|
| 2 | km² | km^2, sq km, square kilometer, square kilometers, square kilometre, square kilometres |
|
97
96
|
| 3 | in² | in^2, sq in, square inch, square inches |
|
98
97
|
| 4 | ft² | ft^2, sq ft, square foot, square feet |
|
@@ -106,7 +105,7 @@ These units are defined in `UnitMeasurements::Volume`.
|
|
106
105
|
| # | Name | Aliases |
|
107
106
|
|:--|:--|:--|
|
108
107
|
| 1 | l* | liter, litre, liters, litres |
|
109
|
-
|
|
108
|
+
| _2_ | _m³_ | _m^3, cu m, cubic meter, cubic meters, cubic metre, cubic metres_ |
|
110
109
|
| 3 | mm³ | mm^3, cu mm, cubic millimeter, cubic millimeters, cubic millimetre, cubic millimetres |
|
111
110
|
| 4 | cm³ | cm^3, cu cm, cubic centimeter, cubic centimeters, cubic centimetre, cubic centimetres |
|
112
111
|
| 5 | dm³ | dm^3, cu dm, cubic decimeter, cubic decimeters, cubic decimetre, cubic decimetres |
|
@@ -123,7 +122,7 @@ These units are defined in `UnitMeasurements::Density`.
|
|
123
122
|
| # | Name | Aliases |
|
124
123
|
|:--|:--|:--|
|
125
124
|
| 1 | g/m³ | g/m^3, g·m⁻³, gram per cubic meter, grams per cubic meter, gramme per cubic metre, grammes per cubic metre |
|
126
|
-
|
|
125
|
+
| _2_ | _kg/m³_ | _kg/m^3, kg·m⁻³, kilogram per cubic meter, kilograms per cubic meter, kilogramme per cubic metre, kilogrammes per cubic metre_ |
|
127
126
|
| 3 | g/l | g·l⁻¹, gram per liter, grams per liter, gramme per litre, grammes per litre |
|
128
127
|
| 4 | g/ml | g·ml⁻¹, gram per milliliter, grams per milliliter, gramme per millilitre, grammes per millilitre |
|
129
128
|
| 5 | kg/l | kg·l⁻¹, kilogram per liter, kilograms per liter, kilogramme per litre, kilogrammes per litre |
|
@@ -147,7 +146,8 @@ These units are defined in `UnitMeasurements::SoundLevel`.
|
|
147
146
|
| # | Name | Aliases |
|
148
147
|
|:--|:--|:--|
|
149
148
|
| 1 | B* | bel, bels |
|
150
|
-
|
|
149
|
+
| _2_ | _dB_ | _decibel, decibels_ |
|
150
|
+
| 3 | Np | neper, nepers |
|
151
151
|
|
152
152
|
## 13. Plane angle
|
153
153
|
|
@@ -155,7 +155,7 @@ These units are defined in `UnitMeasurements::PlaneAngle`.
|
|
155
155
|
|
156
156
|
| # | Name | Aliases |
|
157
157
|
|:--|:--|:--|
|
158
|
-
|
|
158
|
+
| _1_ | _rad*_ | _radian, radians_ |
|
159
159
|
| 2 | deg | °, degree, degrees |
|
160
160
|
| 3 | gon | ᵍ, grad, gradian, gradians |
|
161
161
|
| 4 | cir | circle, circles |
|
@@ -171,7 +171,7 @@ These units are defined in `UnitMeasurements::SolidAngle`.
|
|
171
171
|
|
172
172
|
| # | Name | Aliases |
|
173
173
|
|:--|:--|:--|
|
174
|
-
|
|
174
|
+
| _1_ | _sr*_ | _steradian, steradians_ |
|
175
175
|
| 2 | sp | spat, spats |
|
176
176
|
| 3 | deg² | (°)², sq °, square degree, square degrees |
|
177
177
|
| 4 | arcmin² | (′)², sq ′, square arcminute, square arcminutes |
|
@@ -183,7 +183,7 @@ These units are defined in `UnitMeasurements::Force`.
|
|
183
183
|
|
184
184
|
| # | Name | Aliases |
|
185
185
|
|:--|:--|:--|
|
186
|
-
|
|
186
|
+
| _1_ | _N*_ | _newton, newtons_ |
|
187
187
|
| 2 | tf | tonne-force |
|
188
188
|
| 3 | dyn | dyne, dynes |
|
189
189
|
| 4 | kgf | kilogram-force, kilogramme-force |
|
@@ -191,25 +191,13 @@ These units are defined in `UnitMeasurements::Force`.
|
|
191
191
|
| 6 | lbf | pound-force |
|
192
192
|
| 7 | pdl | poundal, poundals |
|
193
193
|
|
194
|
-
## 16.
|
195
|
-
|
196
|
-
These units are defined in `UnitMeasurements::Voltage`.
|
197
|
-
|
198
|
-
| # | Name | Aliases |
|
199
|
-
|:--|:--|:--|
|
200
|
-
| 1 | V* | volt, volts |
|
201
|
-
| 2 | abV | abvolt, abvolts |
|
202
|
-
| 3 | statV | statvolt, statvolts |
|
203
|
-
| 4 | W/A | W·A⁻¹, watt per ampere, watts per ampere |
|
204
|
-
| 5 | J/C | J·C⁻¹, joule per coulomb, joules per coulomb |
|
205
|
-
|
206
|
-
## 17. Velocity
|
194
|
+
## 16. Velocity
|
207
195
|
|
208
196
|
These units are defined in `UnitMeasurements::Velocity`.
|
209
197
|
|
210
198
|
| # | Name | Aliases |
|
211
199
|
|:--|:--|:--|
|
212
|
-
|
|
200
|
+
| _1_ | _m/s_ | _m·s⁻¹, meter per second, meters per second, metre per second, metres per second_ |
|
213
201
|
| 2 | m/min | m·min⁻¹, meter per minute, meters per minute, metre per minute, metres per minute |
|
214
202
|
| 3 | m/h | m·h⁻¹, meter per hour, meters per hour, metre per hour, metres per hour |
|
215
203
|
| 4 | Kn | kt, knot, knots |
|
@@ -220,24 +208,24 @@ These units are defined in `UnitMeasurements::Velocity`.
|
|
220
208
|
| 9 | ft/min | ft·min⁻¹, foot per minute, feet per minute |
|
221
209
|
| 10 | ft/h | ft·h⁻¹, foot per hour, feet per hour |
|
222
210
|
|
223
|
-
##
|
211
|
+
## 17. Acceleration
|
224
212
|
|
225
213
|
These units are defined in `UnitMeasurements::Acceleration`.
|
226
214
|
|
227
215
|
| # | Name | Aliases |
|
228
216
|
|:--|:--|:--|
|
229
|
-
|
|
217
|
+
| _1_ | _m/s²_ | _m/s^2, m·s⁻², meter per second squared, meters per second squared, metre per second squared, metres per second squared_ |
|
230
218
|
| 2 | in/s² | in/s^2, in·s⁻², inch per second squared, inches per second squared |
|
231
219
|
| 3 | ft/s² | ft/s^2, ft·s⁻², foot per second squared, feet per second squared |
|
232
220
|
| 4 | Kn/s | knot per second, knots per second |
|
233
221
|
|
234
|
-
##
|
222
|
+
## 18. Angular velocity
|
235
223
|
|
236
224
|
These units are defined in `UnitMeasurements::AngularVelocity`.
|
237
225
|
|
238
226
|
| # | Name | Aliases |
|
239
227
|
|:--|:--|:--|
|
240
|
-
|
|
228
|
+
| _1_ | _rad/s_ | _rad·s⁻¹, radian per second, radians per second_ |
|
241
229
|
| 2 | rad/min | rad·min⁻¹, radian per minute, radians per minute |
|
242
230
|
| 3 | rad/h | rad·h⁻¹, radian per hour, radians per hour |
|
243
231
|
| 4 | deg/s | °/s, deg·s⁻¹, degree per second, degrees per second |
|
@@ -250,107 +238,119 @@ These units are defined in `UnitMeasurements::AngularVelocity`.
|
|
250
238
|
| 11 | gon/min | ᵍ/min, gon·min⁻¹, gradian per minute, gradians per minute |
|
251
239
|
| 12 | gon/h | ᵍ/h, gon·h⁻¹, gradian per hour, gradians per hour |
|
252
240
|
|
253
|
-
##
|
241
|
+
## 19. Angular acceleration
|
254
242
|
|
255
243
|
These units are defined in `UnitMeasurements::AngularAcceleration`.
|
256
244
|
|
257
245
|
| # | Name | Aliases |
|
258
246
|
|:--|:--|:--|
|
259
|
-
|
|
247
|
+
| _1_ | _rad/s²_ | _rad/s^2, rad·s⁻², radian per second squared, radians per second squared_ |
|
260
248
|
| 2 | deg/s² | deg/s^2, °/s², deg·s⁻², degree per second squared, degrees per second squared |
|
261
249
|
| 3 | gon/s² | gon/s^2, ᵍ/s², gon·s⁻², gradian per second squared, gradians per second squared |
|
262
250
|
|
251
|
+
## 20. Electric potential
|
252
|
+
|
253
|
+
These units are defined in `UnitMeasurements::ElectricPotential`.
|
254
|
+
|
255
|
+
| # | Name | Aliases |
|
256
|
+
|:--|:--|:--|
|
257
|
+
| _1_ | _V*_ | _volt, volts_ |
|
258
|
+
| 2 | abV | abvolt, abvolts |
|
259
|
+
| 3 | statV | statvolt, statvolts |
|
260
|
+
| 4 | W/A | W·A⁻¹, watt per ampere, watts per ampere |
|
261
|
+
| 5 | J/C | J·C⁻¹, joule per coulomb, joules per coulomb |
|
262
|
+
|
263
263
|
## 21. Electric charge
|
264
264
|
|
265
265
|
These units are defined in `UnitMeasurements::ElectricCharge`.
|
266
266
|
|
267
267
|
| # | Name | Aliases |
|
268
268
|
|:--|:--|:--|
|
269
|
-
|
|
269
|
+
| _1_ | _C*_ | _coulomb, coulombs_ |
|
270
270
|
| 2 | abC | abcoulomb, abcoulombs |
|
271
271
|
| 3 | statC | statcoulomb, statcoulombs |
|
272
272
|
| 4 | Fr | franklin, franklins |
|
273
273
|
| 5 | Fd | faraday, faradays |
|
274
274
|
|
275
|
-
## 22.
|
275
|
+
## 22. Electrical capacitance
|
276
276
|
|
277
|
-
These units are defined in `UnitMeasurements::
|
277
|
+
These units are defined in `UnitMeasurements::ElectricalCapacitance`.
|
278
278
|
|
279
279
|
| # | Symbol | Aliases |
|
280
280
|
|:--|:--|:--|
|
281
|
-
|
|
281
|
+
| _1_ | _F*_ | _farad, farads_ |
|
282
282
|
| 2 | abF | abfarad, abfarads |
|
283
283
|
| 3 | statF | statfarad, statfarads |
|
284
284
|
| 4 | C/V | C·V⁻¹, coulomb/volt, coulombs/volt, coulomb per volt, coulombs per volt |
|
285
285
|
|
286
|
-
## 23.
|
286
|
+
## 23. Electrical elastance
|
287
287
|
|
288
|
-
These units are defined in `UnitMeasurements::
|
288
|
+
These units are defined in `UnitMeasurements::ElectricalElastance`.
|
289
289
|
|
290
290
|
| # | Name | Aliases |
|
291
291
|
|:--|:--|:--|
|
292
|
-
|
|
292
|
+
| _1_ | _D*_ | _F⁻¹, daraf, darafs, reciprocal farad, reciprocal farads_ |
|
293
293
|
| 2 | V/C | V·C⁻¹, volt/coulomb, volts/coulomb, volt per coulomb, volts per coulomb |
|
294
294
|
|
295
|
-
## 24.
|
295
|
+
## 24. Electrical resistance
|
296
296
|
|
297
|
-
These units are defined in `UnitMeasurements::
|
297
|
+
These units are defined in `UnitMeasurements::ElectricalResistance`.
|
298
298
|
|
299
299
|
| # | Name | Aliases |
|
300
300
|
|:--|:--|:--|
|
301
|
-
|
|
301
|
+
| _1_ | _Ω*_ | _ω, ohm, ohms, reciprocal siemens_ |
|
302
302
|
| 2 | abΩ | abω, abohm, abohms |
|
303
303
|
| 3 | statΩ | statω, statohm, statohms |
|
304
304
|
| 4 | S | siemens, mho, mhos |
|
305
|
-
| 5 | V/A | V·A⁻¹, volt/amp
|
305
|
+
| 5 | V/A | V·A⁻¹, volt/amp, volts/amp, volt/ampere, volts/ampere, volt per ampere, volts per ampere |
|
306
306
|
|
307
|
-
## 25.
|
307
|
+
## 25. Electric conductance
|
308
308
|
|
309
|
-
These units are defined in `UnitMeasurements::
|
309
|
+
These units are defined in `UnitMeasurements::ElectricConductance`.
|
310
310
|
|
311
311
|
| # | Name | Aliases |
|
312
312
|
|:--|:--|:--|
|
313
|
-
|
|
313
|
+
| _1_ | _S*_ | _℧, Ω⁻¹, siemens, mho, mhos_ |
|
314
314
|
| 2 | abS | ab℧, absiemens, abmho, abmhos |
|
315
315
|
| 3 | statS | stat℧, statsiemens, statmho, statmhos |
|
316
|
-
| 3 | A/V | A·V⁻¹, amp
|
316
|
+
| 3 | A/V | A·V⁻¹, amp/volt, amps/volt, ampere/volt, amperes/volt, ampere per volt, amperes per volt |
|
317
|
+
|
318
|
+
## 26. Electrical inductance
|
319
|
+
|
320
|
+
These units are defined in `UnitMeasurements::ElectricalInductance`.
|
321
|
+
|
322
|
+
| # | Name | Aliases |
|
323
|
+
|:--|:--|:--|
|
324
|
+
| _1_ | _H*_ | _henry, henries_ |
|
325
|
+
| 2 | abH | abhenry, abhenries |
|
326
|
+
| 3 | statH | stathenry, stathenries |
|
327
|
+
| 4 | Wb/A | Wb·A⁻¹, weber per ampere, webers per ampere |
|
317
328
|
|
318
|
-
##
|
329
|
+
## 27. Magnetic flux
|
319
330
|
|
320
331
|
These units are defined in `UnitMeasurements::MagneticFlux`.
|
321
332
|
|
322
333
|
| # | Name | Aliases |
|
323
334
|
|:--|:--|:--|
|
324
|
-
|
|
335
|
+
| _1_ | _Wb*_ | _weber, webers_ |
|
325
336
|
| 2 | Mx | maxwell, maxwells |
|
326
337
|
| 3 | T·m² | T*m^2, tesla-square meter, tesla-square metre |
|
327
338
|
| 4 | G·cm² | G*cm^2, gauss-square centimeter, gauss-square centimetre |
|
328
339
|
|
329
|
-
##
|
340
|
+
## 28. Magnetic induction
|
330
341
|
|
331
342
|
These units are defined in `UnitMeasurements::MagneticInduction`.
|
332
343
|
|
333
344
|
| # | Name | Aliases |
|
334
345
|
|:--|:--|:--|
|
335
|
-
|
|
346
|
+
| _1_ | _T*_ | _tesla, teslas_ |
|
336
347
|
| 2 | G | Gs, gauss, gausses |
|
337
348
|
|
338
|
-
##
|
349
|
+
## 29. Magnetic field
|
339
350
|
|
340
351
|
These units are defined in `UnitMeasurements::MagneticField`.
|
341
352
|
|
342
353
|
| # | Name | Aliases |
|
343
354
|
|:--|:--|:--|
|
344
|
-
|
|
345
|
-
| 2 | A/m | A·m⁻¹, ampere/meter, ampere/metre, ampere per meter, ampere per metre, amperes per meter, amperes per metre |
|
346
|
-
|
347
|
-
## 29. Inductance
|
348
|
-
|
349
|
-
These units are defined in `UnitMeasurements::Inductance`.
|
350
|
-
|
351
|
-
| # | Name | Aliases |
|
352
|
-
|:--|:--|:--|
|
353
|
-
| 1 | H* | henry, henries |
|
354
|
-
| 2 | abH | abhenry, abhenries |
|
355
|
-
| 3 | statH | stathenry, stathenries |
|
356
|
-
| 4 | Wb/A | Wb·A⁻¹, weber per ampere, webers per ampere |
|
355
|
+
| _1_ | _Oe*_ | _oersted, oersteds_ |
|
356
|
+
| 2 | A/m | A·m⁻¹, ampere/meter, ampere/metre, amperes/meter, amperes/metre, ampere per meter, ampere per metre, amperes per meter, amperes per metre |
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unit_measurements
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Harshal LADHE
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-10-
|
11
|
+
date: 2023-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -108,6 +108,7 @@ files:
|
|
108
108
|
- lib/unit_measurements/comparison.rb
|
109
109
|
- lib/unit_measurements/conversion.rb
|
110
110
|
- lib/unit_measurements/errors/parse_error.rb
|
111
|
+
- lib/unit_measurements/errors/primitive_unit_already_set_error.rb
|
111
112
|
- lib/unit_measurements/errors/unit_already_defined_error.rb
|
112
113
|
- lib/unit_measurements/errors/unit_error.rb
|
113
114
|
- lib/unit_measurements/formatter.rb
|
@@ -124,14 +125,16 @@ files:
|
|
124
125
|
- lib/unit_measurements/unit_groups/angular_acceleration.rb
|
125
126
|
- lib/unit_measurements/unit_groups/angular_velocity.rb
|
126
127
|
- lib/unit_measurements/unit_groups/area.rb
|
127
|
-
- lib/unit_measurements/unit_groups/capacitance.rb
|
128
|
-
- lib/unit_measurements/unit_groups/conductance.rb
|
129
128
|
- lib/unit_measurements/unit_groups/density.rb
|
130
|
-
- lib/unit_measurements/unit_groups/elastance.rb
|
131
129
|
- lib/unit_measurements/unit_groups/electric_charge.rb
|
130
|
+
- lib/unit_measurements/unit_groups/electric_conductance.rb
|
132
131
|
- lib/unit_measurements/unit_groups/electric_current.rb
|
132
|
+
- lib/unit_measurements/unit_groups/electric_potential.rb
|
133
|
+
- lib/unit_measurements/unit_groups/electrical_capacitance.rb
|
134
|
+
- lib/unit_measurements/unit_groups/electrical_elastance.rb
|
135
|
+
- lib/unit_measurements/unit_groups/electrical_inductance.rb
|
136
|
+
- lib/unit_measurements/unit_groups/electrical_resistance.rb
|
133
137
|
- lib/unit_measurements/unit_groups/force.rb
|
134
|
-
- lib/unit_measurements/unit_groups/inductance.rb
|
135
138
|
- lib/unit_measurements/unit_groups/length.rb
|
136
139
|
- lib/unit_measurements/unit_groups/luminous_intensity.rb
|
137
140
|
- lib/unit_measurements/unit_groups/magnetic_field.rb
|
@@ -139,17 +142,13 @@ files:
|
|
139
142
|
- lib/unit_measurements/unit_groups/magnetic_induction.rb
|
140
143
|
- lib/unit_measurements/unit_groups/plane_angle.rb
|
141
144
|
- lib/unit_measurements/unit_groups/quantity.rb
|
142
|
-
- lib/unit_measurements/unit_groups/resistance.rb
|
143
145
|
- lib/unit_measurements/unit_groups/solid_angle.rb
|
144
146
|
- lib/unit_measurements/unit_groups/sound_level.rb
|
145
147
|
- lib/unit_measurements/unit_groups/temperature.rb
|
146
148
|
- lib/unit_measurements/unit_groups/time.rb
|
147
149
|
- lib/unit_measurements/unit_groups/velocity.rb
|
148
|
-
- lib/unit_measurements/unit_groups/voltage.rb
|
149
150
|
- lib/unit_measurements/unit_groups/volume.rb
|
150
151
|
- lib/unit_measurements/unit_groups/weight.rb
|
151
|
-
- lib/unit_measurements/unit_methods.rb
|
152
|
-
- lib/unit_measurements/unit_system.rb
|
153
152
|
- lib/unit_measurements/version.rb
|
154
153
|
- unit_measurements.gemspec
|
155
154
|
- units.md
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
# -*- frozen_string_literal: true -*-
|
3
|
-
# -*- warn_indent: true -*-
|
4
|
-
|
5
|
-
UnitMeasurements::Capacitance = UnitMeasurements.build do
|
6
|
-
system :metric do
|
7
|
-
primitive :F
|
8
|
-
|
9
|
-
si_unit :F, aliases: [:farad, :farads]
|
10
|
-
unit :"C/V", value: "1 F", aliases: [:"C·V⁻¹", :"coulomb/volt", :"coulombs/volt", :"coulomb per volt", :"coulombs per volt"]
|
11
|
-
end
|
12
|
-
|
13
|
-
system :centimetre_gram_second do
|
14
|
-
primitive :statF
|
15
|
-
|
16
|
-
unit :abF, value: "1e+9 F", aliases: [:abfarad, :abfarads]
|
17
|
-
unit :statF, value: "1.1127e-12 F", aliases: [:statfarad, :statfarads]
|
18
|
-
end
|
19
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
# -*- frozen_string_literal: true -*-
|
3
|
-
# -*- warn_indent: true -*-
|
4
|
-
|
5
|
-
UnitMeasurements::Conductance = UnitMeasurements.build do
|
6
|
-
system :metric do
|
7
|
-
primitive :S
|
8
|
-
|
9
|
-
si_unit :S, aliases: [:℧, :"Ω⁻¹", :siemens, :mho, :mhos]
|
10
|
-
unit :"A/V", value: "1 S", aliases: [:"A·V⁻¹", :"amp./volt", :"amps./volt", :"ampere/volt", :"amperes/volt", :"ampere per volt", :"amperes per volt"]
|
11
|
-
end
|
12
|
-
|
13
|
-
system :centimetre_gram_second do
|
14
|
-
primitive :statS
|
15
|
-
|
16
|
-
unit :abS, value: "1e+9 S", aliases: [:ab℧, :absiemens, :abmho, :abmhos]
|
17
|
-
unit :statS, value: "1.112347e-12 S", aliases: [:stat℧, :statsiemens, :statmho, :statmhos]
|
18
|
-
end
|
19
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
# -*- frozen_string_literal: true -*-
|
3
|
-
# -*- warn_indent: true -*-
|
4
|
-
|
5
|
-
UnitMeasurements::Elastance = UnitMeasurements.build do
|
6
|
-
system :metric do
|
7
|
-
primitive :D
|
8
|
-
|
9
|
-
si_unit :D, aliases: [:"F⁻¹", :daraf, :darafs, :"reciprocal farad", :"reciprocal farads"]
|
10
|
-
unit :"V/C", value: "1 D", aliases: [:"V·C⁻¹", :"volt/coulomb", :"volts/coulomb", :"volt per coulomb", :"volts per coulomb"]
|
11
|
-
end
|
12
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
# -*- frozen_string_literal: true -*-
|
3
|
-
# -*- warn_indent: true -*-
|
4
|
-
|
5
|
-
UnitMeasurements::Inductance = UnitMeasurements.build do
|
6
|
-
system :metric do
|
7
|
-
primitive :H
|
8
|
-
|
9
|
-
si_unit :H, aliases: [:henry, :henries]
|
10
|
-
unit :"Wb/A", value: "1 H", aliases: [:"Wb·A⁻¹", :"weber per ampere", :"webers per ampere"]
|
11
|
-
end
|
12
|
-
|
13
|
-
system :centimetre_gram_second do
|
14
|
-
primitive :abH
|
15
|
-
|
16
|
-
unit :abH, value: "1e-9 H", aliases: [:abhenry, :abhenries]
|
17
|
-
unit :statH, value: "8.98755178736818e+11 H", aliases: [:stathenry, :stathenries]
|
18
|
-
end
|
19
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
# -*- frozen_string_literal: true -*-
|
3
|
-
# -*- warn_indent: true -*-
|
4
|
-
|
5
|
-
UnitMeasurements::Resistance = UnitMeasurements.build do
|
6
|
-
system :metric do
|
7
|
-
primitive :Ω
|
8
|
-
|
9
|
-
si_unit :Ω, aliases: [:ω, :ohm, :ohms, :"reciprocal siemens"]
|
10
|
-
unit :S, value: "1 Ω", aliases: [:siemens, :mho, :mhos]
|
11
|
-
unit :"V/A", value: "1 Ω", aliases: [:"V·A⁻¹", :"volt/amp.", :"volts/amp.", :"volt/ampere", :"volts/ampere", :"volt per ampere", :"volts per ampere"]
|
12
|
-
end
|
13
|
-
|
14
|
-
system :centimetre_gram_second do
|
15
|
-
primitive :statΩ
|
16
|
-
|
17
|
-
unit :abΩ, value: "1e-9 Ω", aliases: [:abω, :abohm, :abohms]
|
18
|
-
unit :statΩ, value: "8.98755178737e+11 Ω", aliases: [:statω, :statohm, :statohms]
|
19
|
-
end
|
20
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
# -*- frozen_string_literal: true -*-
|
3
|
-
# -*- warn_indent: true -*-
|
4
|
-
|
5
|
-
UnitMeasurements::Voltage = UnitMeasurements.build do
|
6
|
-
system :metric do
|
7
|
-
primitive :V
|
8
|
-
|
9
|
-
si_unit :V, aliases: [:volt, :volts]
|
10
|
-
|
11
|
-
unit :"W/A", value: "1 V", aliases: [:"W·A⁻¹", :"watt per ampere", :"watts per ampere"]
|
12
|
-
unit :"J/C", value: "1 V", aliases: [:"J·C⁻¹", :"joule per coulomb", :"joules per coulomb"]
|
13
|
-
end
|
14
|
-
|
15
|
-
system :centimetre_gram_second do
|
16
|
-
primitive :statV
|
17
|
-
|
18
|
-
unit :abV, value: "1e-8 V", aliases: [:abvolt, :abvolts]
|
19
|
-
unit :statV, value: "299.792458 V", aliases: [:statvolt, :statvolts]
|
20
|
-
end
|
21
|
-
end
|
@@ -1,45 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
# -*- frozen_string_literal: true -*-
|
3
|
-
# -*- warn_indent: true -*-
|
4
|
-
|
5
|
-
module UnitMeasurements
|
6
|
-
module UnitMethods
|
7
|
-
def unit_for(name)
|
8
|
-
unit_name_to_unit(name)
|
9
|
-
end
|
10
|
-
|
11
|
-
def unit_for!(name)
|
12
|
-
unit = unit_for(name)
|
13
|
-
raise UnitError, name unless unit
|
14
|
-
unit
|
15
|
-
end
|
16
|
-
alias_method :[], :unit_for!
|
17
|
-
|
18
|
-
def unit_with_name_and_aliases
|
19
|
-
units.each_with_object({}) do |unit, hash|
|
20
|
-
unit.names.each { |name| hash[name.to_s] = unit }
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def unit_names
|
25
|
-
units.map(&:name).sort
|
26
|
-
end
|
27
|
-
|
28
|
-
def unit_names_with_aliases
|
29
|
-
units.flat_map(&:names).sort
|
30
|
-
end
|
31
|
-
|
32
|
-
def unit_name_to_unit(name)
|
33
|
-
unit_with_name_and_aliases[name.to_s]
|
34
|
-
end
|
35
|
-
|
36
|
-
def defined?(name)
|
37
|
-
unit = unit_for(name)
|
38
|
-
unit ? unit.name == name.to_s : false
|
39
|
-
end
|
40
|
-
|
41
|
-
def unit_or_alias?(name)
|
42
|
-
!!unit_for(name)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
# -*- frozen_string_literal: true -*-
|
3
|
-
# -*- warn_indent: true -*-
|
4
|
-
|
5
|
-
module UnitMeasurements
|
6
|
-
class UnitSystem
|
7
|
-
include UnitMethods
|
8
|
-
|
9
|
-
attr_reader :name, :primitive, :units
|
10
|
-
|
11
|
-
def initialize(name)
|
12
|
-
@name = name
|
13
|
-
@primitive = nil
|
14
|
-
@units = []
|
15
|
-
end
|
16
|
-
|
17
|
-
def add_unit(unit)
|
18
|
-
@units << unit
|
19
|
-
end
|
20
|
-
|
21
|
-
def set_primitive(primitive)
|
22
|
-
@primitive = unit_for!(primitive)
|
23
|
-
end
|
24
|
-
|
25
|
-
def primitive?(unit)
|
26
|
-
@primitive.to_s == (unit.is_a?(Unit) ? unit.name : unit)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|