unitsml 0.2.9 → 0.3.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 +4 -4
- data/Gemfile +9 -1
- data/lib/unitsml/error.rb +8 -0
- data/lib/unitsml/errors/plurimath_load_error.rb +19 -0
- data/lib/unitsml/formula.rb +9 -1
- data/lib/unitsml/utility.rb +2 -0
- data/lib/unitsml/version.rb +1 -1
- data/lib/unitsml.rb +1 -0
- data/unitsml.gemspec +2 -8
- metadata +8 -90
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5eec8700e144a7983623483da1e4093d961a717e0344f429ec03687257f1450f
|
|
4
|
+
data.tar.gz: 40b736d843d780c4b1366b11eb1441cbc53ba611f16507a33482b3f1c702ed7c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b14c95f4aaa4c223138212b82e082e42b5ae5d86689d4186d657f8b97dc9c8553b171c14cf08b386c930dae4ac2532400ecb286b9624a36c8e29a4fb8d8d6c10
|
|
7
|
+
data.tar.gz: cc1a2a790ae2084763eddda110f3fd7a3425d3cf8ae93c65649b7496e4f6fa6c4a52c856bee4bbc2e436ca09aff9a3ce852316ba7407dffea9949a763b4af0f6
|
data/Gemfile
CHANGED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Unitsml
|
|
4
|
+
module Errors
|
|
5
|
+
class PlurimathLoadError < Unitsml::Error
|
|
6
|
+
def to_s
|
|
7
|
+
<<~MESSAGE
|
|
8
|
+
[unitsml] Error: Failed to require 'plurimath'.
|
|
9
|
+
[unitsml] Please add 'plurimath' in your gemfile and run 'bundle install'
|
|
10
|
+
[unitsml] OR
|
|
11
|
+
[unitsml] run following command to install the gem:
|
|
12
|
+
[unitsml] gem install plurimath
|
|
13
|
+
[unitsml] If this is a bug, please report at our official issue tracker:
|
|
14
|
+
[unitsml] https://github.com/unitsml/unitsml-ruby/issues
|
|
15
|
+
MESSAGE
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
data/lib/unitsml/formula.rb
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "plurimath"
|
|
4
3
|
require_relative "utility"
|
|
5
4
|
module Unitsml
|
|
6
5
|
class Formula
|
|
@@ -68,6 +67,7 @@ module Unitsml
|
|
|
68
67
|
end
|
|
69
68
|
|
|
70
69
|
def to_plurimath
|
|
70
|
+
ensure_plurimath_defined!
|
|
71
71
|
return Plurimath::Math.parse(to_asciimath, :asciimath) if @orig_text.match?(/-$/)
|
|
72
72
|
|
|
73
73
|
Plurimath::Math.parse(to_mathml, :mathml)
|
|
@@ -160,5 +160,13 @@ module Unitsml
|
|
|
160
160
|
Utility.quantity(norm_text, explicit_value&.dig(:quantity)),
|
|
161
161
|
].join
|
|
162
162
|
end
|
|
163
|
+
|
|
164
|
+
def ensure_plurimath_defined!
|
|
165
|
+
return if Object.const_defined?(:Plurimath)
|
|
166
|
+
|
|
167
|
+
require "plurimath"
|
|
168
|
+
rescue LoadError => e
|
|
169
|
+
raise Errors::PlurimathLoadError
|
|
170
|
+
end
|
|
163
171
|
end
|
|
164
172
|
end
|
data/lib/unitsml/utility.rb
CHANGED
data/lib/unitsml/version.rb
CHANGED
data/lib/unitsml.rb
CHANGED
data/unitsml.gemspec
CHANGED
|
@@ -28,12 +28,6 @@ Gem::Specification.new do |spec|
|
|
|
28
28
|
spec.require_paths = ["lib", "unitsdb/**/*.yaml"]
|
|
29
29
|
|
|
30
30
|
spec.add_dependency "htmlentities"
|
|
31
|
-
spec.add_dependency "
|
|
32
|
-
spec.
|
|
33
|
-
spec.add_development_dependency "equivalent-xml"
|
|
34
|
-
spec.add_development_dependency "pry", "~> 0.12.2"
|
|
35
|
-
spec.add_development_dependency "rake", "~> 12.0"
|
|
36
|
-
spec.add_development_dependency "rspec", "~> 3.6"
|
|
37
|
-
spec.add_development_dependency "rubocop", "= 0.54.0"
|
|
38
|
-
spec.add_development_dependency "simplecov", "~> 0.15"
|
|
31
|
+
spec.add_dependency "ox"
|
|
32
|
+
spec.add_dependency "parslet"
|
|
39
33
|
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
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2025-02-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: htmlentities
|
|
@@ -25,27 +25,13 @@ dependencies:
|
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - "~>"
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.8.4
|
|
34
|
-
type: :runtime
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - "~>"
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: 0.8.4
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: byebug
|
|
28
|
+
name: ox
|
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
|
44
30
|
requirements:
|
|
45
31
|
- - ">="
|
|
46
32
|
- !ruby/object:Gem::Version
|
|
47
33
|
version: '0'
|
|
48
|
-
type: :
|
|
34
|
+
type: :runtime
|
|
49
35
|
prerelease: false
|
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
37
|
requirements:
|
|
@@ -53,89 +39,19 @@ dependencies:
|
|
|
53
39
|
- !ruby/object:Gem::Version
|
|
54
40
|
version: '0'
|
|
55
41
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
42
|
+
name: parslet
|
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
|
58
44
|
requirements:
|
|
59
45
|
- - ">="
|
|
60
46
|
- !ruby/object:Gem::Version
|
|
61
47
|
version: '0'
|
|
62
|
-
type: :
|
|
48
|
+
type: :runtime
|
|
63
49
|
prerelease: false
|
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
51
|
requirements:
|
|
66
52
|
- - ">="
|
|
67
53
|
- !ruby/object:Gem::Version
|
|
68
54
|
version: '0'
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: pry
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - "~>"
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: 0.12.2
|
|
76
|
-
type: :development
|
|
77
|
-
prerelease: false
|
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
-
requirements:
|
|
80
|
-
- - "~>"
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: 0.12.2
|
|
83
|
-
- !ruby/object:Gem::Dependency
|
|
84
|
-
name: rake
|
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
|
86
|
-
requirements:
|
|
87
|
-
- - "~>"
|
|
88
|
-
- !ruby/object:Gem::Version
|
|
89
|
-
version: '12.0'
|
|
90
|
-
type: :development
|
|
91
|
-
prerelease: false
|
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
-
requirements:
|
|
94
|
-
- - "~>"
|
|
95
|
-
- !ruby/object:Gem::Version
|
|
96
|
-
version: '12.0'
|
|
97
|
-
- !ruby/object:Gem::Dependency
|
|
98
|
-
name: rspec
|
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
|
100
|
-
requirements:
|
|
101
|
-
- - "~>"
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: '3.6'
|
|
104
|
-
type: :development
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - "~>"
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: '3.6'
|
|
111
|
-
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: rubocop
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - '='
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: 0.54.0
|
|
118
|
-
type: :development
|
|
119
|
-
prerelease: false
|
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
requirements:
|
|
122
|
-
- - '='
|
|
123
|
-
- !ruby/object:Gem::Version
|
|
124
|
-
version: 0.54.0
|
|
125
|
-
- !ruby/object:Gem::Dependency
|
|
126
|
-
name: simplecov
|
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
|
128
|
-
requirements:
|
|
129
|
-
- - "~>"
|
|
130
|
-
- !ruby/object:Gem::Version
|
|
131
|
-
version: '0.15'
|
|
132
|
-
type: :development
|
|
133
|
-
prerelease: false
|
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
-
requirements:
|
|
136
|
-
- - "~>"
|
|
137
|
-
- !ruby/object:Gem::Version
|
|
138
|
-
version: '0.15'
|
|
139
55
|
description: Gem-wrapper for working with unitsdb
|
|
140
56
|
email:
|
|
141
57
|
- open.source@ribose.com
|
|
@@ -158,6 +74,8 @@ files:
|
|
|
158
74
|
- docs/navigation.adoc
|
|
159
75
|
- lib/unitsml.rb
|
|
160
76
|
- lib/unitsml/dimension.rb
|
|
77
|
+
- lib/unitsml/error.rb
|
|
78
|
+
- lib/unitsml/errors/plurimath_load_error.rb
|
|
161
79
|
- lib/unitsml/extender.rb
|
|
162
80
|
- lib/unitsml/formula.rb
|
|
163
81
|
- lib/unitsml/parse.rb
|