Sha256: b24ff1eff36194e94de4b6086c06efbe7d69a826058e196aa427ce8a2c998f46

Contents?: true

Size: 768 Bytes

Versions: 1

Compression:

Stored size: 768 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

1 entries across 1 versions & 1 rubygems

Version Path
plurimath-0.8.0 lib/plurimath/unitsml.rb