unitsml 0.4.5 → 0.4.7

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: d1360a6b1ca97f95e5430b8727ebf442aa82a5c6d862454992c7aeeea021b86d
4
+ data.tar.gz: 05f12a8761af137a6da2d2a2c984ba4471237a921c23e4fdd996f18e6c2c2653
5
5
  SHA512:
6
- metadata.gz: 4cd31af2b06a97774ac9c4ff957c76d4e704672d47b6477eb97145a5164afa1bc41b856fe35661adde71b96295038897c4ff6549af9f0311448d3ec2545a5457
7
- data.tar.gz: 6e44d3fc983c0cd348529f8061677d4f0d76d586372c00b96530955d231982a125c15b7e3f93893f2183ca4cca98a11f69c37ec7a89884b1fb4c4a4e6e1a0ff4
6
+ metadata.gz: eb9f3d9aae3d9d1614a7632c5ffb8f958f9117ff03d3448a89f6b6c3b99b5473e527ab8cb27eeff1f977069eca97b99a8b31f97d5ffe266504d57354c7ba53ab
7
+ data.tar.gz: d1a521f378a7d6969cc27203afd1f1c3afe7bf9ee243dc46680bd6b619d01291342373ff8eb909101381dd63d880635af1509b93fec65112d1781454efe92c70
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.7"
3
3
  end
data/unitsml.gemspec CHANGED
@@ -30,5 +30,5 @@ Gem::Specification.new do |spec|
30
30
  spec.add_dependency 'htmlentities'
31
31
  spec.add_dependency 'mml'
32
32
  spec.add_dependency 'parslet'
33
- spec.add_dependency 'unitsdb'
33
+ spec.add_dependency 'unitsdb', '~>1.0'
34
34
  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.7
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-05-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: htmlentities
@@ -56,16 +56,16 @@ dependencies:
56
56
  name: unitsdb
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '1.0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '1.0'
69
69
  description: Library to work with UnitsML in Ruby
70
70
  email:
71
71
  - open.source@ribose.com