unitsml 0.4.5 → 0.4.6

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: 595f12d3478d434cc3c1ef1c1f1a4098b76b58fa7f0d278161303962b464c62c
4
- data.tar.gz: 1a506fc8ee2ba7ce2dadfe29126c2117381cd0cd178288ce17076b542f2f2c1b
3
+ metadata.gz: fa7225e4922a972e29d438320d23fce921f62c550553a9eb24bb6bb501b7eb22
4
+ data.tar.gz: f96fd6719ff152b0d853c20e80a7bfa2ce389715d49a90adf282cc0dcb5781c7
5
5
  SHA512:
6
- metadata.gz: 4cd31af2b06a97774ac9c4ff957c76d4e704672d47b6477eb97145a5164afa1bc41b856fe35661adde71b96295038897c4ff6549af9f0311448d3ec2545a5457
7
- data.tar.gz: 6e44d3fc983c0cd348529f8061677d4f0d76d586372c00b96530955d231982a125c15b7e3f93893f2183ca4cca98a11f69c37ec7a89884b1fb4c4a4e6e1a0ff4
6
+ metadata.gz: 1b5a62abd80dd0c28a2168e5318f0bb80c68a5e894ed90f62097e3a9b9ad742c450c7f4e1815e8171d414cc2795ebba54d444a2929a7207f021da2594f3f232e
7
+ data.tar.gz: c73a55849dd8ecf6c3534ccb54d099fbbfd5eb683359f7b4c094df13b9372cdbc60969f7d8ec1bb9829646ee33be564abc45c7b5a924fa97dcb42d29e1747808
data/lib/unitsml/parse.rb CHANGED
@@ -4,12 +4,16 @@ require "parslet"
4
4
  require "unitsml/unitsdb"
5
5
  module Unitsml
6
6
  class Parse < Parslet::Parser
7
- rule(:power) { str("^") >> intermediate_exp(number) }
8
- rule(:hyphen) { str("-") }
9
- rule(:number) { (hyphen.maybe >> match(/[0-9]/).repeat(1)).as(:integer) }
10
- rule(:extender) { (str("//") | str("/") | str("*")).as(:extender) }
7
+ rule(:power) { str("^") >> intermediate_exp(slashed_number) }
8
+ rule(:hyphen) { str("-") }
9
+ rule(:number) { hyphen.maybe >> match(/[0-9]/).repeat(1) }
10
+
11
+ rule(:extender) { (forward_slashes | str("*")).as(:extender) }
11
12
  rule(:sequence) { single_letter_prefixes >> units | double_letter_prefixes >> units | units }
12
- rule(:unit_and_power) { units >> power.maybe }
13
+
14
+ rule(:unit_and_power) { units >> power.maybe }
15
+ rule(:slashed_number) { (number >> (forward_slashes >> number).maybe).as(:integer) }
16
+ rule(:forward_slashes) { str("//") | str("/") }
13
17
 
14
18
  rule(:units) do
15
19
  @@filtered_units ||= arr_to_expression(Unitsdb.units.filtered, "units")
@@ -9,7 +9,7 @@ module Unitsml
9
9
  end
10
10
 
11
11
  def units
12
- @@units_file ||= ::Unitsdb::Units.from_yaml(load_file((:units)))
12
+ @@units_file ||= ::Unitsdb::Units.from_yaml(load_file(:units))
13
13
  end
14
14
 
15
15
  def prefixes
@@ -21,7 +21,7 @@ module Unitsml
21
21
  end
22
22
 
23
23
  def quantities
24
- @@quantities ||= ::Unitsdb::Quantities.from_yaml(load_file((:quantities)))
24
+ @@quantities ||= ::Unitsdb::Quantities.from_yaml(load_file(:quantities))
25
25
  end
26
26
 
27
27
  def prefixes_array
@@ -1,3 +1,3 @@
1
1
  module Unitsml
2
- VERSION = "0.4.5"
2
+ VERSION = "0.4.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unitsml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-04-13 00:00:00.000000000 Z
11
+ date: 2025-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: htmlentities