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.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -2
  3. data/Gemfile.lock +1 -1
  4. data/README.md +68 -80
  5. data/lib/unit_measurements/arithmetic.rb +4 -4
  6. data/lib/unit_measurements/base.rb +2 -3
  7. data/lib/unit_measurements/comparison.rb +2 -1
  8. data/lib/unit_measurements/conversion.rb +5 -5
  9. data/lib/unit_measurements/errors/primitive_unit_already_set_error.rb +11 -0
  10. data/lib/unit_measurements/formatter.rb +2 -2
  11. data/lib/unit_measurements/math.rb +5 -5
  12. data/lib/unit_measurements/measurement.rb +5 -11
  13. data/lib/unit_measurements/normalizer.rb +21 -28
  14. data/lib/unit_measurements/unit.rb +8 -5
  15. data/lib/unit_measurements/unit_group.rb +41 -7
  16. data/lib/unit_measurements/unit_group_builder.rb +10 -27
  17. data/lib/unit_measurements/unit_groups/acceleration.rb +8 -6
  18. data/lib/unit_measurements/unit_groups/all.rb +6 -6
  19. data/lib/unit_measurements/unit_groups/amount_of_substance.rb +4 -4
  20. data/lib/unit_measurements/unit_groups/angular_acceleration.rb +5 -5
  21. data/lib/unit_measurements/unit_groups/angular_velocity.rb +14 -14
  22. data/lib/unit_measurements/unit_groups/area.rb +8 -10
  23. data/lib/unit_measurements/unit_groups/density.rb +7 -8
  24. data/lib/unit_measurements/unit_groups/electric_charge.rb +7 -9
  25. data/lib/unit_measurements/unit_groups/electric_conductance.rb +18 -0
  26. data/lib/unit_measurements/unit_groups/electric_current.rb +6 -8
  27. data/lib/unit_measurements/unit_groups/electric_potential.rb +19 -0
  28. data/lib/unit_measurements/unit_groups/electrical_capacitance.rb +18 -0
  29. data/lib/unit_measurements/unit_groups/electrical_elastance.rb +13 -0
  30. data/lib/unit_measurements/unit_groups/electrical_inductance.rb +18 -0
  31. data/lib/unit_measurements/unit_groups/electrical_resistance.rb +19 -0
  32. data/lib/unit_measurements/unit_groups/force.rb +9 -11
  33. data/lib/unit_measurements/unit_groups/length.rb +7 -9
  34. data/lib/unit_measurements/unit_groups/luminous_intensity.rb +4 -4
  35. data/lib/unit_measurements/unit_groups/magnetic_field.rb +4 -4
  36. data/lib/unit_measurements/unit_groups/magnetic_flux.rb +6 -7
  37. data/lib/unit_measurements/unit_groups/magnetic_induction.rb +4 -6
  38. data/lib/unit_measurements/unit_groups/plane_angle.rb +11 -10
  39. data/lib/unit_measurements/unit_groups/quantity.rb +7 -5
  40. data/lib/unit_measurements/unit_groups/solid_angle.rb +7 -7
  41. data/lib/unit_measurements/unit_groups/sound_level.rb +4 -4
  42. data/lib/unit_measurements/unit_groups/temperature.rb +4 -4
  43. data/lib/unit_measurements/unit_groups/time.rb +13 -12
  44. data/lib/unit_measurements/unit_groups/velocity.rb +12 -16
  45. data/lib/unit_measurements/unit_groups/volume.rb +12 -14
  46. data/lib/unit_measurements/unit_groups/weight.rb +5 -5
  47. data/lib/unit_measurements/version.rb +1 -1
  48. data/units.md +72 -72
  49. metadata +9 -10
  50. data/lib/unit_measurements/unit_groups/capacitance.rb +0 -19
  51. data/lib/unit_measurements/unit_groups/conductance.rb +0 -19
  52. data/lib/unit_measurements/unit_groups/elastance.rb +0 -12
  53. data/lib/unit_measurements/unit_groups/inductance.rb +0 -19
  54. data/lib/unit_measurements/unit_groups/resistance.rb +0 -20
  55. data/lib/unit_measurements/unit_groups/voltage.rb +0 -21
  56. data/lib/unit_measurements/unit_methods.rb +0 -45
  57. 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
- | 1 | m* | meter, metre, meters, metres |
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
- | 1 | g* | gram, grams, gramme, grammes |
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
- | 1 | s* | sec, second, seconds |
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 | fn | 4tnite, fortnight, fortnights |
44
- | 6 | mo | month, months |
45
- | 7 | yr | y, year, years |
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
- | 1 | mol* | mole, moles |
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
- | 1 | A* | amp, ampere, amperes |
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
- | 1 | cd* | candela, candelas |
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
- | 1 | K* | kelvin, kelvins |
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
- | 1 | m² | m^2, sq m, square meter, square meters, square metre, square metres |
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
- | 2 | m³ | m^3, cu m, cubic meter, cubic meters, cubic metre, cubic metres |
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
- | 2 | kg/m³ | kg/m^3, kg·m⁻³, kilogram per cubic meter, kilograms per cubic meter, kilogramme per cubic metre, kilogrammes per cubic metre |
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
- | 2 | Np | neper, nepers |
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
- | 1 | rad* | radian, radians |
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
- | 1 | sr* | steradian, steradians |
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
- | 1 | N* | newton, newtons |
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. Voltage
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
- | 1 | m/s | m·s⁻¹, meter per second, meters per second, metre per second, metres per second |
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
- ## 18. Acceleration
211
+ ## 17. Acceleration
224
212
 
225
213
  These units are defined in `UnitMeasurements::Acceleration`.
226
214
 
227
215
  | # | Name | Aliases |
228
216
  |:--|:--|:--|
229
- | 1 | m/s² | m/s^2, m·s⁻², meter per second squared, meters per second squared, metre per second squared, metres per second squared |
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
- ## 19. Angular velocity
222
+ ## 18. Angular velocity
235
223
 
236
224
  These units are defined in `UnitMeasurements::AngularVelocity`.
237
225
 
238
226
  | # | Name | Aliases |
239
227
  |:--|:--|:--|
240
- | 1 | rad/s | rad·s⁻¹, radian per second, radians per second |
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
- ## 20. Angular acceleration
241
+ ## 19. Angular acceleration
254
242
 
255
243
  These units are defined in `UnitMeasurements::AngularAcceleration`.
256
244
 
257
245
  | # | Name | Aliases |
258
246
  |:--|:--|:--|
259
- | 1 | rad/s² | rad/s^2, rad·s⁻², radian per second squared, radians per second squared |
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
- | 1 | C* | coulomb, coulombs |
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. Capacitance
275
+ ## 22. Electrical capacitance
276
276
 
277
- These units are defined in `UnitMeasurements::Capacitance`.
277
+ These units are defined in `UnitMeasurements::ElectricalCapacitance`.
278
278
 
279
279
  | # | Symbol | Aliases |
280
280
  |:--|:--|:--|
281
- | 1 | F* | farad, farads |
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. Elastance
286
+ ## 23. Electrical elastance
287
287
 
288
- These units are defined in `UnitMeasurements::Elastance`.
288
+ These units are defined in `UnitMeasurements::ElectricalElastance`.
289
289
 
290
290
  | # | Name | Aliases |
291
291
  |:--|:--|:--|
292
- | 1 | D* | F⁻¹, daraf, darafs, reciprocal farad, reciprocal farads |
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. Resistance
295
+ ## 24. Electrical resistance
296
296
 
297
- These units are defined in `UnitMeasurements::Resistance`.
297
+ These units are defined in `UnitMeasurements::ElectricalResistance`.
298
298
 
299
299
  | # | Name | Aliases |
300
300
  |:--|:--|:--|
301
- | 1 | Ω* | ω, ohm, ohms, reciprocal siemens |
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., volts/amp., volt/ampere, volts/ampere, volt per ampere, volts per ampere |
305
+ | 5 | V/A | V·A⁻¹, volt/amp, volts/amp, volt/ampere, volts/ampere, volt per ampere, volts per ampere |
306
306
 
307
- ## 25. Conductance
307
+ ## 25. Electric conductance
308
308
 
309
- These units are defined in `UnitMeasurements::Conductance`.
309
+ These units are defined in `UnitMeasurements::ElectricConductance`.
310
310
 
311
311
  | # | Name | Aliases |
312
312
  |:--|:--|:--|
313
- | 1 | S* | ℧, Ω⁻¹, siemens, mho, mhos |
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./volt, amps./volt, ampere/volt, amperes/volt, ampere per volt, amperes per volt |
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
- ## 26. Magnetic flux
329
+ ## 27. Magnetic flux
319
330
 
320
331
  These units are defined in `UnitMeasurements::MagneticFlux`.
321
332
 
322
333
  | # | Name | Aliases |
323
334
  |:--|:--|:--|
324
- | 1 | Wb* | weber, webers |
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
- ## 27. Magnetic induction
340
+ ## 28. Magnetic induction
330
341
 
331
342
  These units are defined in `UnitMeasurements::MagneticInduction`.
332
343
 
333
344
  | # | Name | Aliases |
334
345
  |:--|:--|:--|
335
- | 1 | T* | tesla, teslas |
346
+ | _1_ | _T*_ | _tesla, teslas_ |
336
347
  | 2 | G | Gs, gauss, gausses |
337
348
 
338
- ## 28. Magnetic field
349
+ ## 29. Magnetic field
339
350
 
340
351
  These units are defined in `UnitMeasurements::MagneticField`.
341
352
 
342
353
  | # | Name | Aliases |
343
354
  |:--|:--|:--|
344
- | 1 | Oe* | oersted, oersteds |
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: 3.8.0
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-03 00:00:00.000000000 Z
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