Sha256: e0faaed0fa15902e8505a92678db9cb0ac19ab3ae1e0866de39fe1efafb9ab22

Contents?: true

Size: 775 Bytes

Versions: 14

Compression:

Stored size: 775 Bytes

Contents

# frozen_string_literal: true

require "unitsml"
module Plurimath
  class Unitsml
    attr_accessor :text

    def initialize(text)
      @text = text
      raise Math::ParseError.new(error_message) if text.match?(/\^(([^\s][^*\/,"]*?[a-z]+)|(\([^-\d]+\)|[^\(\d-]+))/)
    end

    def to_formula
      formula = ::Unitsml.parse(text).to_plurimath
      formula.unitsml = true
      formula.input_string = text
      formula
    end

    def error_message
      <<~MESSAGE
       [plurimath] Invalid formula `#{@text}`.
       [plurimath] The use of a variable as an exponent is not valid.
       [plurimath] If this is a bug, please report the formula at our issue tracker at:
       [plurimath] https://github.com/plurimath/plurimath/issues
      MESSAGE
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
plurimath-0.8.15 lib/plurimath/unitsml.rb
plurimath-0.8.14 lib/plurimath/unitsml.rb
plurimath-0.8.13 lib/plurimath/unitsml.rb
plurimath-0.8.12 lib/plurimath/unitsml.rb
plurimath-0.8.11 lib/plurimath/unitsml.rb
plurimath-0.8.10 lib/plurimath/unitsml.rb
plurimath-0.8.9 lib/plurimath/unitsml.rb
plurimath-0.8.8 lib/plurimath/unitsml.rb
plurimath-0.8.7 lib/plurimath/unitsml.rb
plurimath-0.8.6 lib/plurimath/unitsml.rb
plurimath-0.8.5 lib/plurimath/unitsml.rb
plurimath-0.8.4 lib/plurimath/unitsml.rb
plurimath-0.8.2 lib/plurimath/unitsml.rb
plurimath-0.8.1 lib/plurimath/unitsml.rb