unit_measurements 5.8.0 → 5.10.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: 9cd4663e023a6580016dca729bc82766fba463f589a262408404d23e3fe478ef
4
- data.tar.gz: d594ce914384d88e0563c7623463d7fbb649bef97c13cf46f3f8832b837da641
3
+ metadata.gz: 519b4112a693a9c722e1241381eafb095005e4cbdef9792662e339df52087abf
4
+ data.tar.gz: 34054c7ef9056fe40d25f698403f0585b805c7426710302b102e93709582090b
5
5
  SHA512:
6
- metadata.gz: 6c481080564acab8baf3e706e1c7bc28cab1c7631bff878413ba9154532df4aee4f63b8a7f784d27d5926ed00b367720dbeb5c372edc5a21b45261dbec94af67
7
- data.tar.gz: 1eeb96b7dd64e071efecba74f4ef19791f447e17fad484809062dfc8fc043aaaec34e42f57ea97a50e53b2b514b806e0e0c025008ef1890395f1b9a4fbba2b3e
6
+ metadata.gz: cbfdf296b4fab0d7b2c5a7932939ca9cba3205d42f9709d72b070b98748b97cd68a4a29d10c9f086fbd9decf65f906a977458f902e70a04ba2ee019326062f5a
7
+ data.tar.gz: df52b1126595b98d905a9f9b86b9884dcddd4c06b3ac547ba8bbac0d2dc4108d35329b1a629d278bf4cadf2959d4923e27be14a08702d8b5fd911affc977a0db
data/CHANGELOG.md CHANGED
@@ -1,3 +1,29 @@
1
+ ## [5.10.0](https://github.com/shivam091/unit_measurements/compare/v5.9.0...v5.10.0) - 2023-11-09
2
+
3
+ ### What's new
4
+
5
+ - Added new method `#to_fs` to format the measurement.
6
+ - Aliased arithmetic method `#**` to `#pow` and `#^`.
7
+ - Aliased arithmetic method `#-@` to `#inverse` and `#negate`.
8
+ - Added `UnitMeasurements::BlankQuantityError` error if tried to initialize the `Measurement` with a blank quantity.
9
+ - Added `UnitMeasurements::BlankUnitError` error if tried to initialize the `Measurement` with a blank unit.
10
+
11
+ ### What's deprecated
12
+
13
+ - `#format` method in favour of `#to_fs`.
14
+
15
+ ----------
16
+
17
+ ## [5.9.0](https://github.com/shivam091/unit_measurements/compare/v5.8.0...v5.9.0) - 2023-11-08
18
+
19
+ ### What's new
20
+
21
+ - Added new units of `force`.
22
+ - Added new units of `torque`.
23
+ - Added new units of `energy`.
24
+
25
+ ----------
26
+
1
27
  ## [5.8.0](https://github.com/shivam091/unit_measurements/compare/v5.7.0...v5.8.0) - 2023-11-06
2
28
 
3
29
  ### What's new
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- unit_measurements (5.8.0)
4
+ unit_measurements (5.10.0)
5
5
  activesupport (~> 7.0)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -95,6 +95,7 @@ UnitMeasurements::Length.new(1, "km")
95
95
 
96
96
  This gem allows you to convert among units of same unit group. You can convert measurement to other unit using `#convert_to`
97
97
  (aliased as `#to`, `#in`, and `#as`) or `#convert_to!` (aliased as `#to!`, `#in!`, and `#as!`) methods.
98
+ You can also chain call of `#convert_to` and `#convert_to!` methods.
98
99
 
99
100
  These methods provide `use_cache` parameter which defaults to `false` to indicate whether the caching of conversion factors should happen.
100
101
 
@@ -119,13 +120,6 @@ UnitMeasurements::Length.new(1, "cm").convert_to("primitive")
119
120
  #=> 0.01 m
120
121
  ```
121
122
 
122
- You can also chain call of `#convert_to` and `#convert_to!` methods as:
123
-
124
- ```ruby
125
- UnitMeasurements::Length.new(100, "m").convert_to("ft").convert_to!("in", use_cache: true)
126
- #=> 3937.00787401574071916010498688 in
127
- ```
128
-
129
123
  **Parse string without having to split out the quantity and source unit:**
130
124
 
131
125
  This method provides `use_cache` parameter which defaults to `false` to indicate whether the caching of conversion factors should happen.
@@ -198,7 +192,7 @@ UnitMeasurements::Length.new(100, "m").to("in").to_fs("%.4<quantity>f %<unit>s")
198
192
  You can check more about formatting along with their examples
199
193
  [here](https://shivam091.github.io/unit_measurements/UnitMeasurements/Formatter.html).
200
194
 
201
- **Extract the unit and the quantity from measurement:**
195
+ **Extract the quantity and the unit from measurement:**
202
196
 
203
197
  ```ruby
204
198
  length = UnitMeasurements::Length.new(1, "km")
@@ -208,6 +202,15 @@ length.unit
208
202
  #=> #<UnitMeasurements::Unit: km (kilometer, kilometers, kilometre, kilometres)>
209
203
  ```
210
204
 
205
+ Unit object can be interrogated for a range of attributes:
206
+
207
+ ```ruby
208
+ length.unit.aliases # Alternative names for the unit.
209
+ #=> #<Set: {"kilometer", "kilometers", "kilometre", "kilometres"}>
210
+ length.unit.conversion_factor # Conversion factor relative to primitive unit.
211
+ #=> 1000.0
212
+ ```
213
+
211
214
  **See primitive unit of the unit group:**
212
215
 
213
216
  ```ruby
@@ -134,6 +134,8 @@ module UnitMeasurements
134
134
  def **(other)
135
135
  arithmetic_operation(other, :**)
136
136
  end
137
+ alias_method :pow, :**
138
+ alias_method :^, :**
137
139
 
138
140
  # Negates the quantity of the measurement.
139
141
  #
@@ -151,6 +153,8 @@ module UnitMeasurements
151
153
  def -@
152
154
  self.class.new(-self.quantity, self.unit)
153
155
  end
156
+ alias_method :inverse, :-@
157
+ alias_method :negate, :-@
154
158
 
155
159
  # Checks whether the quantity of the measurement is nonzero.
156
160
  #
@@ -148,3 +148,5 @@ require "unit_measurements/errors/unit_error"
148
148
  require "unit_measurements/errors/parse_error"
149
149
  require "unit_measurements/errors/unit_already_defined_error"
150
150
  require "unit_measurements/errors/primitive_unit_already_set_error"
151
+ require "unit_measurements/errors/blank_quantity_error"
152
+ require "unit_measurements/errors/blank_unit_error"
@@ -55,7 +55,7 @@ module UnitMeasurements
55
55
  # @since 5.3.0
56
56
  def use_cache=(use_cache)
57
57
  unless [true, false].include?(use_cache)
58
- raise BaseError, "Configuration#use_cache= only accepts true or false, but received #{use_cache}"
58
+ raise ArgumentError, "Configuration#use_cache= only accepts true or false, but received #{use_cache}"
59
59
  end
60
60
 
61
61
  @use_cache = use_cache
@@ -0,0 +1,21 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # -*- frozen_string_literal: true -*-
3
+ # -*- warn_indent: true -*-
4
+
5
+ module UnitMeasurements
6
+ # The +UnitMeasurements::BlankQuantityError+ class represents an error that
7
+ # occurs when trying to initialize the +Measurement+ with a blank quantity.
8
+ #
9
+ # @see BaseError
10
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
11
+ # @since 5.10.0
12
+ class BlankQuantityError < BaseError
13
+ # Initializes a new +BlankQuantityError+ instance.
14
+ #
15
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
16
+ # @since 5.10.0
17
+ def initialize
18
+ super("Quantity cannot be blank.")
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # -*- frozen_string_literal: true -*-
3
+ # -*- warn_indent: true -*-
4
+
5
+ module UnitMeasurements
6
+ # The +UnitMeasurements::BlankUnitError+ class represents an error that
7
+ # occurs when trying to initialize the +Measurement+ with a blank unit.
8
+ #
9
+ # @see BaseError
10
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
11
+ # @since 5.10.0
12
+ class BlankUnitError < BaseError
13
+ # Initializes a new +BlankUnitError+ instance.
14
+ #
15
+ # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
16
+ # @since 5.10.0
17
+ def initialize
18
+ super("Unit cannot be blank.")
19
+ end
20
+ end
21
+ end
@@ -18,19 +18,27 @@ module UnitMeasurements
18
18
  # containing placeholders for +quantity+ and +unit+.
19
19
  DEFAULT_FORMAT = "%.2<quantity>f %<unit>s".freeze
20
20
 
21
+ # @deprecated This method has been deprecated in favour of {#to_fs}.
22
+ #
23
+ # This method is no longer recommended for use. Please use {#to_fs}
24
+ # instead.
25
+ def format(format = nil)
26
+ warn "DEPRECATION WARNING: The `format` method is deprecated and will be removed in upcoming release. Please use `to_fs` instead."
27
+ to_fs(format)
28
+ end
29
+
21
30
  # Formats measurement to certain formatted string specified by +format+.
22
- # If +format+ is not specified, it uses +DEFAULT_FORMAT+ for formatting the
31
+ # If +format+ is not specified, it uses {DEFAULT_FORMAT} for formatting the
23
32
  # measurement.
24
33
  #
25
- # The format method allows for customization of the output format of a
26
- # measurement. It uses format placeholders for +quantity+ and +unit+. If no
27
- # custom format is provided, it will use the +DEFAULT_FORMAT+.
34
+ # The {#to_fs} method allows for customization of the output format of a
35
+ # measurement. It uses format placeholders for +quantity+ and +unit+.
28
36
  #
29
37
  # @example
30
- # UnitMeasurements::Length.new(1, "m").to("in").format
38
+ # UnitMeasurements::Length.new(1, "m").to("in").to_fs
31
39
  # => "39.37 in"
32
40
  #
33
- # UnitMeasurements::Length.new(1, "m").to("in").format("%.4<quantity>f %<unit>s")
41
+ # UnitMeasurements::Length.new(1, "m").to("in").to_fs("%.4<quantity>f %<unit>s")
34
42
  # => "39.3701 in"
35
43
  #
36
44
  # @param [String, optional] format
@@ -41,10 +49,9 @@ module UnitMeasurements
41
49
  #
42
50
  # @see DEFAULT_FORMAT
43
51
  # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
44
- # @since 1.1.0
45
- def format(format = nil)
52
+ # @since 5.10.0
53
+ def to_fs(format = nil)
46
54
  kwargs = {quantity: quantity, unit: unit.to_s}
47
-
48
55
  (format || DEFAULT_FORMAT) % kwargs
49
56
  end
50
57
  end
@@ -64,7 +64,7 @@ module UnitMeasurements
64
64
  #
65
65
  # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
66
66
  # @since 1.6.0
67
- def floor(ndigits =0)
67
+ def floor(ndigits = 0)
68
68
  self.class.new(quantity.floor(ndigits), unit)
69
69
  end
70
70
 
@@ -84,7 +84,7 @@ module UnitMeasurements
84
84
  #
85
85
  # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
86
86
  # @since 1.6.0
87
- def ceil(ndigits =0)
87
+ def ceil(ndigits = 0)
88
88
  self.class.new(quantity.ceil(ndigits), unit)
89
89
  end
90
90
  end
@@ -104,14 +104,16 @@ module UnitMeasurements
104
104
  # @param [Numeric|String] quantity The quantity of the measurement.
105
105
  # @param [String|Unit] unit The unit of the measurement.
106
106
  #
107
- # @raise [BaseError] If +quantity+ or +unit+ is blank.
107
+ # @raise [BlankQuantityError] If +quantity+ is blank.
108
+ # @raise [BlankUnitError] If +unit+ is blank.
108
109
  #
109
- # @see BaseError
110
+ # @see BlankQuantityError
111
+ # @see BlankUnitError
110
112
  # @author {Harshal V. Ladhe}[https://shivam091.github.io/]
111
113
  # @since 1.0.0
112
114
  def initialize(quantity, unit)
113
- raise BaseError, "Quantity cannot be blank." if quantity.blank?
114
- raise BaseError, "Unit cannot be blank." if unit.blank?
115
+ raise BlankQuantityError if quantity.blank?
116
+ raise BlankUnitError if unit.blank?
115
117
 
116
118
  @quantity = convert_quantity(quantity)
117
119
  @unit = unit_from_unit_or_name!(unit)
@@ -10,6 +10,10 @@ UnitMeasurements::Energy = UnitMeasurements.build do
10
10
  si_unit "cal", value: "4.1868 J", aliases: ["calorie", "calories"]
11
11
 
12
12
  unit "eV", value: "1.602176634e-19 J", aliases: ["electronvolt", "electron volt", "electron-volt"]
13
+
14
+ unit "W⋅s", value: "1 J", aliases: ["W*s", "watt-second"]
15
+ unit "W⋅h", value: "3600 J", aliases: ["W*h", "watt-hour"]
16
+ unit "kW⋅h", value: "3.6e+6 J", aliases: ["kW*h", "kilowatt-hour"]
13
17
  end
14
18
 
15
19
  system :centimetre_gram_second do
@@ -17,11 +21,37 @@ UnitMeasurements::Energy = UnitMeasurements.build do
17
21
  end
18
22
 
19
23
  system :us_customary do
20
- si_unit "Btu", value: "1055.05585262 J", aliases: ["btu", "btus", "british thermal unit", "british thermal units"]
24
+ si_unit "BTU", value: "1055.05585262 J", aliases: ["Btu", "british thermal unit", "british thermal units"]
21
25
 
22
- unit "thm", value: "100 kBtu", aliases: ["therm", "therms"]
26
+ unit "thm", value: "100 kBTU", aliases: ["therm", "therms"]
23
27
  unit "quad", value: "1.05505585262e+18 J", aliases: ["quads"]
28
+
29
+ unit "ft⋅lbf", value: "1.3558179483314004 J", aliases: ["ft*lbf", "ft⋅lb", "ft*lb", "foot-pound force"]
30
+ unit "in⋅lbf", value: "0.1129848290276167 J", aliases: ["in*lbf", "in⋅lb", "in*lb", "inch-pound force"]
31
+ end
32
+
33
+ system :foot_pound_second do
34
+ unit "ft⋅pdl", value: "4.21401100938048e-2 J", aliases: ["ft*pdl", "foot-poundal"]
35
+ end
36
+
37
+ system :metre_tonne_second do
38
+ unit "th", value: "4.1868e+6 J", aliases: ["thermie", "thermies"]
39
+ end
40
+
41
+ system :gravitational_metric do
42
+ unit "kp⋅m", value: "9.80665 J", aliases: ["kpm", "kp*m", "kilopond-metre", "kilopond-meter"]
43
+ end
44
+
45
+ system :imperial do
46
+ unit "hp⋅h", value: "2.685e+13 erg", aliases: ["hp*h", "horsepower-hour"]
24
47
  end
25
48
 
49
+ unit "Ry", value: "2.179872e-18 J", aliases: ["rydberg"]
50
+ unit "Ha", value: "4.359744e-18 J", aliases: ["hartree", "atomic unit of energy"]
51
+ unit "boe", value: "5.86152 GJ", aliases: ["barrel of oil equivalent", "barrels of oil equivalent"]
52
+ unit "tce", value: "29.3076 GJ", aliases: ["TCE", "tonne of coal equivalent", "tonnes of coal equivalent"]
53
+ unit "toe", value: "41.868 GJ", aliases: ["tonne of oil equivalent", "tonnes of oil equivalent"]
26
54
  unit "foe", value: "1e+51 erg", aliases: ["bethe"]
55
+ unit "l⋅atm", value: "101.325 J", aliases: ["l*atm", "litre-atmosphere", "liter-atmosphere"]
56
+ unit "gal⋅atm", value: "460.63256925 J", aliases: ["gal*atm", "gallon-atmosphere"]
27
57
  end
@@ -8,7 +8,10 @@ UnitMeasurements::Force = UnitMeasurements.build do
8
8
  system :metric do
9
9
  si_unit "N", aliases: ["newton", "newtons"]
10
10
 
11
- unit "kgf", value: "9.80665 N", aliases: ["kilogram-force", "kilogramme-force"]
11
+ unit "p", value: "0.00980665 N", aliases: ["pond", "ponds"]
12
+ unit "gf", value: "0.00980665 N", aliases: ["gram-force", "gramme-force"]
13
+ unit "kgf", value: "9.80665 N", aliases: ["kp", "gvf", "kilogram-force", "kilogramme-force"]
14
+ unit "mgvf", value: "9.80665 mN", aliases: ["gvtf", "gravet-force", "milligrave-force"]
12
15
  end
13
16
 
14
17
  system :centimetre_gram_second do
@@ -16,7 +19,8 @@ UnitMeasurements::Force = UnitMeasurements.build do
16
19
  end
17
20
 
18
21
  system :metre_tonne_second do
19
- unit "tf", value: "8896.443230521 N", aliases: ["tonne-force"]
22
+ unit "sn", value: "1e+3 N", aliases: ["sthene", "sthenes", "sthène"]
23
+ unit "tf", value: "8896.443230521 N", aliases: ["metric ton-force", "tonne-force"]
20
24
  end
21
25
 
22
26
  system :english_engineering do
@@ -27,4 +31,16 @@ UnitMeasurements::Force = UnitMeasurements.build do
27
31
  unit "pdl", value: "0.138254954376 N", aliases: ["poundal", "poundals"]
28
32
  unit "ozf", value: "0.27801385095378125 N", aliases: ["ounce-force"]
29
33
  end
34
+
35
+ system :us_customary do
36
+ unit "tnf", value: "2000 lbf", aliases: ["ton-force", "short ton-force"]
37
+ unit "kipf", value: "4.4482216152605e+3 N", aliases: ["kip", "klbf", "kip-force"]
38
+ end
39
+
40
+ system :imperial do
41
+ unit "LTf", value: "2240 lbf", aliases: ["long ton-force"]
42
+ unit "(lb⋅m)/s²", value: "0.45359237 N", aliases: ["(lb*m)/s^2", "pound meter per second squared", "pound metre per second squared"]
43
+ unit "(lb⋅ft)/s²", value: "0.138254954376 N", aliases: ["(lb*ft)/s^2", "pound foot per second squared"]
44
+ unit "(lb⋅in)/s²", value: "0.011521246198 N", aliases: ["(lb*in)/s^2", "pound inch per second squared"]
45
+ end
30
46
  end
@@ -8,11 +8,22 @@ UnitMeasurements::Torque = UnitMeasurements.build do
8
8
  system :metric do
9
9
  si_unit "N·m", aliases: ["N*m", "newton meter", "newton metre"]
10
10
 
11
+ unit "N·cm", value: "0.01 N·m", aliases: ["N*cm", "newton centimeter", "newton centimetre"]
12
+ unit "N·mm", value: "0.001 N·m", aliases: ["N*mm", "newton millimeter", "newton millimetre"]
13
+
14
+ unit "gf·m", value: "9.80665e-3 N·m", aliases: ["gf*m", "gram-force meter", "gramme-force metre"]
15
+ unit "gf·cm", value: "9.80665e-5 N·m", aliases: ["gf*cm", "gram-force centimeter", "gramme-force centimetre"]
16
+ unit "gf·mm", value: "9.80665e-6 N·m", aliases: ["gf*mm", "gram-force millimeter", "gramme-force millimetre"]
17
+
11
18
  unit "kgf·m", value: "9.80665 N·m", aliases: ["kgf*m", "Kilogram-force meter", "kilogramme-force metre"]
19
+ unit "kgf·cm", value: "0.0980665 N·m", aliases: ["kgf*cm", "Kilogram-force centimeter", "kilogramme-force centimetre"]
20
+ unit "kgf·mm", value: "0.00980665 N·m", aliases: ["kgf*mm", "Kilogram-force millimeter", "kilogramme-force millimetre"]
12
21
  end
13
22
 
14
23
  system :centimetre_gram_second do
24
+ unit "dyn·m", value: "1e-5 N·m", aliases: ["dyn*m", "dyne meter", "dyne metre"]
15
25
  unit "dyn·cm", value: "1e-7 N·m", aliases: ["dyn*cm", "dyne centimeter", "dyne centimetre"]
26
+ unit "dyn·mm", value: "1e-8 N·m", aliases: ["dyn*mm", "dyne millimeter", "dyne millimetre"]
16
27
  end
17
28
 
18
29
  system :foot_pound_second do
@@ -4,5 +4,5 @@
4
4
 
5
5
  module UnitMeasurements
6
6
  # Current stable version.
7
- VERSION = "5.8.0"
7
+ VERSION = "5.10.0"
8
8
  end
data/units.md CHANGED
@@ -287,12 +287,22 @@ These units are defined in `UnitMeasurements::Force`.
287
287
  | # | Name | Aliases |
288
288
  |:--|:--|:--|
289
289
  | _1_ | _N*_ | _newton, newtons_ |
290
- | 2 | tf | tonne-force |
291
- | 3 | dyn | dyne, dynes |
292
- | 4 | kgf | kilogram-force, kilogramme-force |
293
- | 5 | ozf | ounce-force |
294
- | 6 | lbf | pound-force |
295
- | 7 | pdl | poundal, poundals |
290
+ | 2 | p | pond, ponds |
291
+ | 3 | gf | gram-force, gramme-force |
292
+ | 4 | tf | metric ton-force, tonne-force |
293
+ | 5 | sn | sthene, sthenes, sthène |
294
+ | 6 | dyn | dyne, dynes |
295
+ | 7 | kgf | kp, gvf, kilogram-force, kilogramme-force |
296
+ | 8 | ozf | ounce-force |
297
+ | 9 | lbf | pound-force |
298
+ | 10 | pdl | poundal, poundals |
299
+ | 11 | tnf | ton-force, short ton-force |
300
+ | 12 | LTf | long ton-force |
301
+ | 13 | mgvf | gvtf, gravet-force, milligrave-force |
302
+ | 14 | kipf | kip, klbf, kip-force |
303
+ | 15 | (lb⋅m)/s² | (lb*m)/s^2, pound meter per second squared, pound metre per second squared |
304
+ | 16 | (lb⋅ft)/s² | (lb*ft)/s^2, pound foot per second squared |
305
+ | 17 | (lb⋅in)/s² | (lb*in)/s^2, pound inch per second squared |
296
306
 
297
307
  ## 16. Velocity or speed
298
308
 
@@ -539,13 +549,22 @@ These units are defined in `UnitMeasurements::Torque`.
539
549
  | # | Name | Aliases |
540
550
  |:--|:--|:--|
541
551
  | _1_ | _N·m*_ | _N*m, newton meter, newton metre_ |
542
- | 2 | kgf·m | kgf*m, Kilogram-force meter, kilogramme-force metre |
543
- | 3 | dyn·cm | dyn*cm, dyne centimeter, dyne centimetre |
544
- | 4 | pdl⋅ft | pdl*ft, poundal foot, foot-poundal |
545
- | 5 | ozf·in | oz⋅in, ozf\*in, oz\*in, ounce-force inch, ounce-inch |
546
- | 6 | ozf·ft | oz⋅ft, ozf\*ft, oz\*ft, ounce-force foot, ounce-foot |
547
- | 7 | lbf⋅in | lb⋅in, lbf\*in, lb\*in, pound-force inch, pound-inch |
548
- | 8 | lbf⋅ft | lb⋅ft, lbf\*ft, lb\*ft, pound-force foot, pound-foot |
552
+ | 2 | N·cm | N*cm, newton centimeter, newton centimetre |
553
+ | 3 | N·mm | N*mm, newton millimeter, newton millimetre |
554
+ | 4 | gf·m | gf*m, gram-force meter, gramme-force metre |
555
+ | 5 | gf·cm | gf*cm, gram-force centimeter, gramme-force centimetre |
556
+ | 6 | gf·mm | gf*mm, gram-force millimeter, gramme-force millimetre |
557
+ | 7 | kgf·m | kgf*m, Kilogram-force meter, kilogramme-force metre |
558
+ | 8 | kgf·cm | kgf*cm, Kilogram-force centimeter, kilogramme-force centimetre |
559
+ | 9 | kgf·mm | kgf*mm, Kilogram-force millimeter, kilogramme-force millimetre |
560
+ | 10 | dyn·m | dyn*m, dyne meter, dyne metre |
561
+ | 11 | dyn·cm | dyn*cm, dyne centimeter, dyne centimetre |
562
+ | 12 | dyn·mm | dyn*mm, dyne millimeter, dyne millimetre |
563
+ | 13 | pdl⋅ft | pdl*ft, poundal foot, foot-poundal |
564
+ | 14 | ozf·in | oz⋅in, ozf\*in, oz\*in, ounce-force inch, ounce-inch |
565
+ | 15 | ozf·ft | oz⋅ft, ozf\*ft, oz\*ft, ounce-force foot, ounce-foot |
566
+ | 16 | lbf⋅in | lb⋅in, lbf\*in, lb\*in, pound-force inch, pound-inch |
567
+ | 17 | lbf⋅ft | lb⋅ft, lbf\*ft, lb\*ft, pound-force foot, pound-foot |
549
568
 
550
569
  ## 35. Luminous flux
551
570
 
@@ -629,13 +648,29 @@ These units are defined in `UnitMeasurements::Energy`.
629
648
  | # | Name | Aliases |
630
649
  |:--|:--|:--|
631
650
  | _1_ | _J*_ | _joule, joules_ |
632
- | 2 | cal | calorie, calories |
633
- | 3 | eV | electronvolt, electron volt, electron-volt |
634
- | 4 | erg | ergs |
635
- | 5 | Btu | btu, btus, british thermal unit, british thermal units |
636
- | 6 | thm | therm, therms |
637
- | 7 | quad | quads |
638
- | 8 | foe | bethe |
651
+ | 2 | eV | electronvolt, electron volt, electron-volt |
652
+ | 3 | th | thermie, thermies |
653
+ | 4 | Ry | rydberg |
654
+ | 5 | Ha | hartree, atomic unit of energy |
655
+ | 6 | boe | barrel of oil equivalent, barrels of oil equivalent |
656
+ | 7 | toe | tonne of oil equivalent, tonnes of oil equivalent |
657
+ | 8 | tce | TCE, tonne of coal equivalent, tonnes of coal equivalent |
658
+ | 9 | cal | calorie, calories |
659
+ | 10 | erg | ergs |
660
+ | 11 | BTU | Btu, british thermal unit, british thermal units |
661
+ | 12 | thm | therm, therms |
662
+ | 13 | W⋅s | W*s, watt-second |
663
+ | 14 | W⋅h | W*h, watt-hour |
664
+ | 15 | kp⋅m | kpm, kp*m, kilopond-metre, kilopond-meter |
665
+ | 16 | hp⋅h | hp*h, horsepower-hour |
666
+ | 17 | kW⋅h | kW*h, kilowatt-hour |
667
+ | 18 | foe | bethe |
668
+ | 19 | quad | quads |
669
+ | 20 | l⋅atm | l*atm, litre-atmosphere, liter-atmosphere |
670
+ | 21 | ft⋅lbf | ft\*lbf, ft⋅lb, ft\*lb, foot-pound force |
671
+ | 22 | in⋅lbf | in\*lbf, in⋅lb, in\*lb, inch-pound force |
672
+ | 23 | ft⋅pdl | ft*pdl, foot-poundal |
673
+ | 24 | gal⋅atm | gal*atm, gallon-atmosphere |
639
674
 
640
675
  ## 41. Dynamic viscosity
641
676
 
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: 5.8.0
4
+ version: 5.10.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-11-06 00:00:00.000000000 Z
11
+ date: 2023-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -111,6 +111,8 @@ files:
111
111
  - lib/unit_measurements/comparison.rb
112
112
  - lib/unit_measurements/configuration.rb
113
113
  - lib/unit_measurements/conversion.rb
114
+ - lib/unit_measurements/errors/blank_quantity_error.rb
115
+ - lib/unit_measurements/errors/blank_unit_error.rb
114
116
  - lib/unit_measurements/errors/parse_error.rb
115
117
  - lib/unit_measurements/errors/primitive_unit_already_set_error.rb
116
118
  - lib/unit_measurements/errors/unit_already_defined_error.rb