plurimath/mathml2asciimath

View on GitHub

Showing 8 of 8 total issues

Method parse has a Cognitive Complexity of 46 (exceeds 5 allowed). Consider refactoring.
Open

def self.parse(node)
out = ""
if node.text?
return encodechars(HTMLEntities.new.decode(node.text))
end
Severity: Minor
Found in lib/mathml2asciimath/m2a.rb - About 7 hrs to fix

Method encodechars has 148 lines of code (exceeds 25 allowed). Consider refactoring.
Open

def self.encodechars(xml)
xml.gsub(/\u03b1/, "alpha")
.gsub(/\u03b2/, "beta")
.gsub(/\u03b3/, "gamma")
.gsub(/\u0393/, "Gamma")
Severity: Major
Found in lib/mathml2asciimath/m2a.rb - About 5 hrs to fix

    Method parse has 96 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    def self.parse(node)
    out = ""
    if node.text?
    return encodechars(HTMLEntities.new.decode(node.text))
    end
    Severity: Major
    Found in lib/mathml2asciimath/m2a.rb - About 3 hrs to fix

      File m2a.rb has 263 lines of code (exceeds 250 allowed). Consider refactoring.
      Open

      require "nokogiri"
      require "htmlentities"
      require "pp"
       
      module MathML2AsciiMath
      Severity: Minor
      Found in lib/mathml2asciimath/m2a.rb - About 2 hrs to fix

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        when "msup"
        sup = parse(node.elements[1])
        sup = "(#{sup})" unless sup.length == 1
        op = parse(node.elements[0]).gsub(/ $/, "")
        "#{op}^#{sup}"
        Severity: Minor
        Found in lib/mathml2asciimath/m2a.rb and 1 other location - About 35 mins to fix
        lib/mathml2asciimath/m2a.rb on lines 218..222

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        when "msub"
        sub = parse(node.elements[1])
        sub = "(#{sub})" unless sub.length == 1
        op = parse(node.elements[0]).gsub(/ $/, "")
        "#{op}_#{sub}"
        Severity: Minor
        Found in lib/mathml2asciimath/m2a.rb and 1 other location - About 35 mins to fix
        lib/mathml2asciimath/m2a.rb on lines 212..216

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        if accent == "overset"
        "overset(#{elem1})(#{parse(node.elements[0])})"
        else
        "#{accent} #{parse(node.elements[0])}"
        Severity: Minor
        Found in lib/mathml2asciimath/m2a.rb and 1 other location - About 15 mins to fix
        lib/mathml2asciimath/m2a.rb on lines 241..244

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        if accent == "underset"
        "underset(#{elem1})(#{parse(node.elements[0])})"
        else
        "#{accent} #{parse(node.elements[0])}"
        Severity: Minor
        Found in lib/mathml2asciimath/m2a.rb and 1 other location - About 15 mins to fix
        lib/mathml2asciimath/m2a.rb on lines 261..264
        Severity
        Category
        Status
        Source
        Language