unitsml 0.4.3 → 0.4.5

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: 3125feede7c0e09e2760c586f23b5faed651a41cd69e6a515b37628dcbfb6461
4
- data.tar.gz: 834148b38b404bff32cda0ba16c948f5a505fe4f217cbc2c5815ce3da00f25b9
3
+ metadata.gz: 595f12d3478d434cc3c1ef1c1f1a4098b76b58fa7f0d278161303962b464c62c
4
+ data.tar.gz: 1a506fc8ee2ba7ce2dadfe29126c2117381cd0cd178288ce17076b542f2f2c1b
5
5
  SHA512:
6
- metadata.gz: 1128ead5ecc9efa1fdfa66aa2edcb53a644384d78d4702079e9f00ce1da9ac9eb9167f21de63779ef25bc41ad72484cc75839591acc8c0ff115a9e1cb7e10214
7
- data.tar.gz: c69cdf9204c9dcf431c605ac0686cba8b7e1f7c36c5263b9086b2763812e4745da29636e2f5b63b320ec6d22749cb159c8e71c84bff6675db95ea926ed15e1b6
6
+ metadata.gz: 4cd31af2b06a97774ac9c4ff957c76d4e704672d47b6477eb97145a5164afa1bc41b856fe35661adde71b96295038897c4ff6549af9f0311448d3ec2545a5457
7
+ data.tar.gz: 6e44d3fc983c0cd348529f8061677d4f0d76d586372c00b96530955d231982a125c15b7e3f93893f2183ca4cca98a11f69c37ec7a89884b1fb4c4a4e6e1a0ff4
data/LICENSE.md ADDED
@@ -0,0 +1,33 @@
1
+ Licenses & Copyright
2
+ ====================
3
+
4
+ This license file adheres to the formatting guidelines of
5
+ [readable-licenses](https://github.com/nevir/readable-licenses).
6
+
7
+
8
+ Ribose's BSD 2-Clause License
9
+ -----------------------------
10
+
11
+ Copyright (c) 2021-2025, [Ribose Inc](https://www.ribose.com).
12
+ All rights reserved.
13
+
14
+ Redistribution and use in source and binary forms, with or without modification,
15
+ are permitted provided that the following conditions are met:
16
+
17
+ 1. Redistributions of source code must retain the above copyright notice,
18
+ this list of conditions and the following disclaimer.
19
+
20
+ 2. Redistributions in binary form must reproduce the above copyright notice,
21
+ this list of conditions and the following disclaimer in the documentation
22
+ and/or other materials provided with the distribution.
23
+
24
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
25
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
28
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
32
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
33
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/docs/README.adoc CHANGED
@@ -1,6 +1,175 @@
1
- = unitsml-ruby
1
+ = UnitsML in Ruby
2
+
3
+ https://github.com/unitsml/unitsml-ruby[image:https://img.shields.io/github/stars/unitsml/unitsml-ruby.svg?style=social[GitHub Stars]]
4
+ https://github.com/unitsml/unitsml-ruby[image:https://img.shields.io/github/forks/unitsml/unitsml-ruby.svg?style=social[GitHub Forks]]
5
+ image:https://img.shields.io/github/license/unitsml/unitsml-ruby.svg[License]
6
+ image:https://img.shields.io/github/actions/workflow/status/unitsml/unitsml-ruby/rake.yml?branch=main[Build Status]
7
+ image:https://img.shields.io/gem/v/unitsml.svg[RubyGems Version]
8
+
9
+ == Purpose
10
+
11
+ UnitsML is a markup language for representing units of measurement in a
12
+ machine-readable format.
13
+
14
+ It is designed to be used in various applications, including scientific
15
+ computing, data analysis, and engineering.
16
+
17
+ The UnitsML Ruby library provides the following components:
18
+
19
+ XML syntax for:
20
+
21
+ * representing units and quantity information
22
+ Composite units
23
+
24
+ * Parser for the UnitsML parser - Parses UnitsML expressions.
25
+ * Unit Converter - Converts units between formats.
26
+ * Formatter - Formats units for display in various formats.
27
+
28
+
29
+ The UnitsML Ruby library is a gem for parsing, manipulating, and converting unit expressions based on the Units Markup Language (UnitsML) specification. This library provides functionality to handle units of measurement in a standardized way across different formats.
30
+
31
+
32
+ == Structure
33
+
34
+ The UnitsML Ruby library consists of several key components:
35
+
36
+ * Parser: Parses string expressions into structured data
37
+ * Transform: Transforms parsed data into domain objects
38
+ * Formula: Represents compound unit expressions
39
+ * Unit: Represents individual units
40
+ * Prefix: Represents unit prefixes (k, m, μ, etc.)
41
+ * Dimension: Represents physical dimensions
42
+
43
+ The library also includes the full https://github.com/unitsml/unitsdb[UnitsDB]
44
+ units database, which contains standard units, prefixes, and dimensions.
45
+
46
+
47
+ == Usage
48
+
49
+ === AsciiUnits
50
+
51
+ The UnitsML Ruby library supports AsciiUnits, a text-based syntax for
52
+ representing units of measurement in a compact and human-readable format.
53
+
54
+ The UnitsML Ruby library supports all available units defined in the official
55
+ UnitsDB database.
56
+
57
+ === Basic units
58
+
59
+ A basic unit is a unit that has an entry in the UnitsDB database
60
+ with a unique identifier.
61
+
62
+ Basic units are represented in the library as `Unitsml::Unit` objects.
63
+
64
+ [source,ruby]
65
+ ----
66
+ require 'unitsml'
67
+ unit = Unitsml.parse("m") # Parse a unit expression
68
+ unit.to_s # => "m"
69
+ unit.to_xml
70
+ # =>
71
+ <Unit xmlns="https://schema.unitsml.org/unitsml/1.0" xml:id="U_NISTu1" dimensionURL="#NISTd1">
72
+ <UnitSystem name="SI" type="SI_derived" xml:lang="en-US"/>
73
+ <UnitName xml:lang="en">meter</UnitName>
74
+ <UnitSymbol type="HTML">m</UnitSymbol>
75
+ <UnitSymbol type="MathMl">
76
+ <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
77
+ <mi mathvariant="normal">m</mi>
78
+ </math>
79
+ </UnitSymbol>
80
+ </Unit>
81
+
82
+ <Dimension xmlns="https://schema.unitsml.org/unitsml/1.0" xml:id="NISTd1">
83
+ <Length symbol="L" powerNumerator="1"/>
84
+ </Dimension>
85
+ ----
86
+
87
+
88
+ === Prefixed units
89
+
90
+ A prefixed unit is a unit that has a prefix (like kilo, milli, micro, etc.)
91
+ that modifies its value.
92
+
93
+ Prefixed units are represented in the library as `Unitsml::Prefix` objects.
94
+
95
+ The library supports the full range of prefixes defined in the UnitsDB database.
96
+
97
+ [source,ruby]
98
+ ----
99
+ require 'unitsml'
100
+ unit = Unitsml.parse("um") # Parse a unit expression
101
+ unit.to_s # => "um"
102
+ unit.to_xml
103
+ # =>
104
+ <Unit xmlns="https://schema.unitsml.org/unitsml/1.0" xml:id="U_um" dimensionURL="#NISTd1">
105
+ <UnitSystem name="SI" type="SI_derived" xml:lang="en-US"/>
106
+ <UnitName xml:lang="en">um</UnitName>
107
+ <UnitSymbol type="HTML">&micro;m</UnitSymbol>
108
+ <UnitSymbol type="MathMl"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
109
+ <mi mathvariant='normal'>µm</mi>
110
+ </math>
111
+ </UnitSymbol>
112
+ <RootUnits>
113
+ <EnumeratedRootUnit unit="meter" prefix="u"/>
114
+ </RootUnits>
115
+ </Unit>
116
+
117
+ <Prefix xmlns="https://schema.unitsml.org/unitsml/1.0" prefixBase="10" prefixPower="-6" xml:id="NISTp10_-6">
118
+ <PrefixName xml:lang="en">micro</PrefixName>
119
+ <PrefixSymbol type="ASCII">u</PrefixSymbol>
120
+ <PrefixSymbol type="unicode">μ</PrefixSymbol>
121
+ <PrefixSymbol type="LaTeX">$mu$</PrefixSymbol>
122
+ <PrefixSymbol type="HTML">&micro;</PrefixSymbol>
123
+ </Prefix>
124
+
125
+ <Dimension xmlns="https://schema.unitsml.org/unitsml/1.0" xml:id="NISTd1">
126
+ <Length symbol="L" powerNumerator="1"/>
127
+ </Dimension>
128
+ ----
129
+
130
+ Prefixed units: mm, kg, μm
131
+
132
+
133
+ === Creating composite units
134
+
135
+ A composite unit is a unit that is derived from two or more basic units
136
+ conjoined by multiplication or division.
137
+
138
+ Composite units are created using the `Unitsml.parse` method.
139
+
140
+ Compound units with operations: kg*s^-2
141
+ Units with powers: C^3
142
+ Square roots: sqrt(Hz)
143
+ Units with prefixes: m/s, m^2/s^2
144
+
145
+
146
+ === Format representation
147
+
148
+ The library supports representation of UnitsML-encoded units in various formats.
149
+
150
+ These formats include:
151
+
152
+ * MathML
153
+ * LaTeX
154
+ * AsciiMath
155
+ * HTML
156
+ * Unicode
157
+ * XML (in UnitsML)
158
+
159
+ Units can be converted to multiple formats as follows:
160
+
161
+ [source,ruby]
162
+ ----
163
+ unit = Unitsml.parse("m/s")
164
+ unit.to_mathml # MathML representation
165
+ unit.to_latex # LaTeX representation
166
+ unit.to_asciimath # AsciiMath representation
167
+ unit.to_html # HTML representation
168
+ unit.to_unicode # Unicode representation
169
+ unit.to_xml # XML (in UnitsML) representation
170
+ ----
171
+
2
172
 
3
- Gem-wrapper for unitsdb
4
173
 
5
174
  == Installation
6
175
 
@@ -13,42 +182,127 @@ gem 'unitsml'
13
182
 
14
183
  And then execute:
15
184
 
16
- [source,sh]
185
+ [source,console]
17
186
  ----
18
187
  $ bundle install
19
188
  ----
20
189
 
21
- Or install it yourself as:
190
+ Or install it yourself with:
22
191
 
23
- [source,sh]
192
+ [source,console]
24
193
  ----
25
194
  $ gem install unitsml
26
195
  ----
27
196
 
28
197
  == Usage
29
198
 
30
- === Unit lookup
199
+ *UnitsML* Ruby provides functionality to represent and convert units between different formats including *MathML*, *LaTeX*, *AsciiMath*, *HTML*, *Unicode*, and *XML*(*Unitsml* schema based elements).
200
+
201
+ === Basic Usage
31
202
 
32
203
  [source,ruby]
33
204
  ----
34
- Unitsml.find_unit(ascii: 'mL') # Unitsml::Unit (with unit attributes)
205
+ require 'unitsml'
206
+
207
+ Unitsml.parse("mm*kg/s^2") # Parse a unit expression
208
+ ----
209
+
210
+ === Format Conversions
211
+
212
+ Units can be converted to different formats:
213
+
214
+ [source,ruby]
215
+ ----
216
+ unit = Unitsml.parse("m/s") # Create a unit example
217
+
218
+ # Convert to different formats
219
+ unit.to_mathml
220
+ unit.to_latex
221
+ unit.to_asciimath
222
+ unit.to_html
223
+ unit.to_unicode
224
+ unit.to_xml
225
+ ----
226
+
227
+ === Extenders
228
+
229
+ An `Extender` is the symbol between units (like multiplication or division):
230
+
231
+ [[example]]
232
+ [source, ruby]
233
+ ----
234
+ formula = Unitsml.parse("m*m") # the '*' is the extender
235
+ formula.to_mathml
236
+ ----
237
+
238
+ [source,xml]
239
+ ----
240
+ <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
241
+ <mi mathvariant="normal">m</mi>
242
+ <mo>&#x22c5;</mo>
243
+ <mi mathvariant="normal">m</mi>
244
+ </math>
245
+ ----
246
+
247
+ The output of extenders can be customized by passing the `multiplier` argument:
248
+
249
+ [[example]]
250
+
251
+ [source, ruby]
35
252
  ----
253
+ formula = Unitsml.parse("m/m")
254
+ formula.to_asciimath(multiplier: "·") # the '·' is the extender for the output
255
+ > "m·m^-1"
256
+ ----
257
+
258
+ The `multiplier` argument is supported in all supported conversions.
259
+
260
+ ==== Supported multipliers
261
+
262
+ The `multiplier` argument supports following types of input:
263
+
264
+ * `:space` - Represents multiplication with a space
265
+ * `:nospace` - Represents multiplication with no space
266
+ * Custom symbols - Like "·", "/", "*", "aA", "12", etc.
267
+
268
+ === Plurimath support
269
+
270
+ This gem requires the *Plurimath* gem to provide `to_plurimath` method
271
+ functionality. You need to explicitly install it, please follow the installtion
272
+ instructions in the
273
+ https://github.com/plurimath/plurimath?tab=readme-ov-file#installation[*Plurimath*]
274
+ repository.
36
275
 
37
276
  == Development
38
277
 
39
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
278
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `bundle exec spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
40
279
 
41
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to https://rubygems.org[rubygems.org].
280
+ === Submodules
42
281
 
43
- == Contributing
282
+ When developing or contributing to *UnitsML Ruby*, you'll need to ensure the
283
+ submodules are available. After cloning the repository, verify that the
284
+ submodules exist in the directory.
44
285
 
45
- Bug reports and pull requests are welcome on GitHub at `https://github.com/unitsml/unitsml-ruby`. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the https://github.com/unitsml/unitsml-ruby/blob/master/docs/CODE_OF_CONDUCT.adoc[code of conduct].
286
+ If not, populate the submodules by running:
46
287
 
288
+ [source,console]
289
+ ----
290
+ $ git submodule update --init --recursive
291
+ ----
47
292
 
48
- == License
293
+ *`unitsdb`* is the only submodule required in this gem for now.
49
294
 
50
- The gem is available as open source under the terms of the https://opensource.org/licenses/MIT[MIT license].
51
295
 
52
296
  == Code of Conduct
53
297
 
54
- Everyone interacting in the Unitsml project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the https://github.com/unitsml/unitsml-ruby/blob/master/docs/CODE_OF_CONDUCT.adoc[code of conduct].
298
+ Everyone interacting in the Unitsml project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the
299
+ https://github.com/unitsml/unitsml-ruby/blob/master/docs/CODE_OF_CONDUCT.adoc[code of conduct].
300
+
301
+
302
+ == License and Copyright
303
+
304
+ This project is licensed under the BSD 2-clause License.
305
+
306
+ See the link:LICENSE.md[] file for details.
307
+
308
+ Copyright Ribose.
@@ -3,6 +3,7 @@
3
3
  require "mml"
4
4
  require "htmlentities"
5
5
  require "unitsml/utility"
6
+
6
7
  module Unitsml
7
8
  class Formula
8
9
  attr_accessor :value, :explicit_value, :root
@@ -33,17 +34,11 @@ module Unitsml
33
34
  math = ::Mml::MathWithNamespace.new(display: "block")
34
35
  math.ordered = true
35
36
  math.element_order ||= []
36
- value.each do |instance|
37
- processed_instance = instance.to_mathml(options)
38
- case processed_instance
39
- when Array
40
- processed_instance.each { |hash| add_math_element(math, hash) }
41
- when Hash
42
- add_math_element(math, processed_instance)
43
- end
44
- end
37
+ value.each { |instance| process_value(math, instance.to_mathml(options)) }
38
+
39
+ generated_math = math.to_xml.gsub(/&amp;(.*?)(?=<\/)/, '&\1')
45
40
  reset_mml_models if plurimath_available?
46
- math.to_xml.gsub(/&amp;(.*?)(?=<\/)/, '&\1')
41
+ generated_math
47
42
  else
48
43
  value.map { |obj| obj.to_mathml(options) }
49
44
  end
@@ -171,11 +166,13 @@ module Unitsml
171
166
  method_value = math_instance.public_send(:"#{method_name}_value") || []
172
167
  method_value += Array(child_hash[:value])
173
168
  math_instance.public_send(:"#{method_name}_value=", method_value)
174
- math_instance.element_order << Lutaml::Model::XmlAdapter::Element.new("Element", method_name.to_s)
169
+ math_instance.element_order << Lutaml::Model::Xml::Element.new("Element", method_name.to_s)
175
170
  end
176
171
 
177
172
  def plurimath_available?
178
- Object.const_defined?(:Plurimath)
173
+ Object.const_defined?(:Plurimath) &&
174
+ Plurimath.const_defined?(:Math) &&
175
+ Plurimath.const_defined?(:Mathml)
179
176
  end
180
177
 
181
178
  def nullify_mml_models
@@ -186,6 +183,15 @@ module Unitsml
186
183
  ::Mml::Configuration.custom_models = Plurimath::Mathml::Parser::CONFIGURATION
187
184
  end
188
185
 
186
+ def process_value(math, mathml_instances)
187
+ case mathml_instances
188
+ when Array
189
+ mathml_instances.each { |hash| process_value(math, hash) }
190
+ when Hash
191
+ add_math_element(math, mathml_instances)
192
+ end
193
+ end
194
+
189
195
  def update_options(options)
190
196
  return options unless root
191
197
 
@@ -234,7 +234,7 @@ module Unitsml
234
234
  uniq_prefixes = units.map { |unit| unit.prefix }.compact.uniq {|d| d.prefix_name }
235
235
  uniq_prefixes.map do |prefix|
236
236
  prefix_attrs = { prefix_base: prefix&.base, prefix_power: prefix&.power, id: prefix&.id }
237
- type_and_methods = { ASCII: :to_asciimath, unicode: :to_unicode, LaTex: :to_latex, HTML: :to_html }
237
+ type_and_methods = { ASCII: :to_asciimath, unicode: :to_unicode, LaTeX: :to_latex, HTML: :to_html }
238
238
  prefix_attrs[:name] = Model::Prefixes::Name.new(content: prefix&.name)
239
239
  prefix_attrs[:symbol] = type_and_methods.map do |type, method_name|
240
240
  Model::Prefixes::Symbol.new(
@@ -1,3 +1,3 @@
1
1
  module Unitsml
2
- VERSION = "0.4.3"
2
+ VERSION = "0.4.5"
3
3
  end
data/lib/unitsml.rb CHANGED
@@ -36,3 +36,8 @@ Unitsdb::Config.models = {
36
36
  dimension_quantity: Unitsml::Unitsdb::DimensionQuantity,
37
37
  }
38
38
  require "unitsdb"
39
+
40
+ DEFAULT_XML_ADAPTER = RUBY_ENGINE == "opal" ? :oga : :ox
41
+ Lutaml::Model::Config.xml_adapter_type = DEFAULT_XML_ADAPTER
42
+ # TODO: Remove Moxml adapter assignment when Lutaml::Model utilizes Moxml completely
43
+ Moxml::Config.default_adapter = DEFAULT_ADAPTER
data/unitsml.gemspec CHANGED
@@ -1,34 +1,34 @@
1
1
  require_relative 'lib/unitsml/version'
2
2
 
3
3
  Gem::Specification.new do |spec|
4
- spec.name = "unitsml"
4
+ spec.name = 'unitsml'
5
5
  spec.version = Unitsml::VERSION
6
- spec.authors = ["Ribose Inc."]
7
- spec.email = ["open.source@ribose.com"]
6
+ spec.authors = ['Ribose Inc.']
7
+ spec.email = ['open.source@ribose.com']
8
8
 
9
- spec.summary = "Gem-wrapper for working with unitsdb"
10
- spec.description = "Gem-wrapper for working with unitsdb"
9
+ spec.summary = 'UnitsML in Ruby'
10
+ spec.description = 'Library to work with UnitsML in Ruby'
11
11
 
12
- spec.homepage = "https://github.com/unitsml/unitsml-ruby"
13
- spec.license = "BSD-2-Clause"
12
+ spec.homepage = 'https://github.com/unitsml/unitsml-ruby'
13
+ spec.license = 'BSD-2-Clause'
14
14
 
15
- spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
15
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.3.0')
16
16
 
17
- spec.metadata["homepage_uri"] = spec.homepage
17
+ spec.metadata['homepage_uri'] = spec.homepage
18
18
 
19
19
  # Specify which files should be added to the gem when it is released.
20
20
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
21
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
21
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
22
22
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
23
23
  end
24
24
  spec.files += Dir.glob('unitsdb/**/*')
25
25
 
26
- spec.bindir = "exe"
26
+ spec.bindir = 'exe'
27
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
- spec.require_paths = ["lib", "unitsdb/**/*.yaml"]
28
+ spec.require_paths = ['lib', 'unitsdb/**/*.yaml']
29
29
 
30
- spec.add_dependency "htmlentities"
31
- spec.add_dependency "mml"
32
- spec.add_dependency "parslet"
33
- spec.add_dependency "unitsdb"
30
+ spec.add_dependency 'htmlentities'
31
+ spec.add_dependency 'mml'
32
+ spec.add_dependency 'parslet'
33
+ spec.add_dependency 'unitsdb'
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.3
4
+ version: 0.4.5
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-03-11 00:00:00.000000000 Z
11
+ date: 2025-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: htmlentities
@@ -66,7 +66,7 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- description: Gem-wrapper for working with unitsdb
69
+ description: Library to work with UnitsML in Ruby
70
70
  email:
71
71
  - open.source@ribose.com
72
72
  executables: []
@@ -81,7 +81,7 @@ files:
81
81
  - ".gitmodules"
82
82
  - ".rspec"
83
83
  - Gemfile
84
- - LICENSE.txt
84
+ - LICENSE.md
85
85
  - Rakefile
86
86
  - bin/console
87
87
  - bin/setup
@@ -163,5 +163,5 @@ requirements: []
163
163
  rubygems_version: 3.5.22
164
164
  signing_key:
165
165
  specification_version: 4
166
- summary: Gem-wrapper for working with unitsdb
166
+ summary: UnitsML in Ruby
167
167
  test_files: []
data/LICENSE.txt DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2021 Тараскин Михаил
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.