MatteoRagni/cas-rb

View on GitHub
bin/graph2ascii.rb

Summary

Maintainability
D
2 days
Test Coverage

Assignment Branch Condition size for to_ascii is too high. [34.45/15]
Open

    def to_ascii
      x_ascii, _ = @x.to_ascii
      y_ascii, _ = @y.to_ascii

      x_ascii = CAS::Ascii.normalize_ascii x_ascii
Severity: Minor
Found in bin/graph2ascii.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

Assignment Branch Condition size for to_ascii is too high. [33.9/15]
Open

    def to_ascii
      x_ascii = []
      x_ul    = []
      x_ascii, x_ul = @x.to_ascii
      y_ascii, y_ul = @y.to_ascii
Severity: Minor
Found in bin/graph2ascii.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

Assignment Branch Condition size for to_ascii is too high. [32.82/15]
Open

    def to_ascii
      x_ascii, x_ul = @x.to_ascii
      y_ascii, y_ul = @y.to_ascii
      x_ll = x_ascii.size - x_ul
      y_ll = y_ascii.size - y_ul
Severity: Minor
Found in bin/graph2ascii.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

Assignment Branch Condition size for to_ascii is too high. [32.82/15]
Open

    def to_ascii
      x_ascii, x_ul = @x.to_ascii
      y_ascii, y_ul = @y.to_ascii
      x_ll = x_ascii.size - x_ul
      y_ll = y_ascii.size - y_ul
Severity: Minor
Found in bin/graph2ascii.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

Assignment Branch Condition size for to_ascii is too high. [32.82/15]
Open

    def to_ascii
      x_ascii, x_ul = @x.to_ascii
      y_ascii, y_ul = @y.to_ascii
      x_ll = x_ascii.size - x_ul
      y_ll = y_ascii.size - y_ul
Severity: Minor
Found in bin/graph2ascii.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

File graph2ascii.rb has 304 lines of code (exceeds 250 allowed). Consider refactoring.
Open

module CAS
  module Ascii
    def self.normalize_ascii(x_lines, type=nil)
      x_width = x_lines.map(&:size).max
      x_lines = x_lines.map { |l| l + (" " * (x_width - l.size)) }
Severity: Minor
Found in bin/graph2ascii.rb - About 3 hrs to fix

    Assignment Branch Condition size for normalize_ascii is too high. [25.73/15]
    Open

        def self.normalize_ascii(x_lines, type=nil)
          x_width = x_lines.map(&:size).max
          x_lines = x_lines.map { |l| l + (" " * (x_width - l.size)) }
          if (type == :complex and x_lines.size > 1)
            x_lines = x_lines.map { |l| l = "⎜#{l}⎟" }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

    Method has too many lines. [18/10]
    Open

        def to_ascii
          x_ascii = []
          x_ul    = []
          x_ascii, x_ul = @x.to_ascii
          y_ascii, y_ul = @y.to_ascii
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

    Method has too many lines. [16/10]
    Open

        def to_ascii
          x_ascii, x_ul = @x.to_ascii
          y_ascii, y_ul = @y.to_ascii
          x_ll = x_ascii.size - x_ul
          y_ll = y_ascii.size - y_ul
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

    Assignment Branch Condition size for to_ascii is too high. [21.93/15]
    Open

        def to_ascii
          x_ascii, x_baseline = @x.to_ascii
          y_ascii, _ = @y.to_ascii
    
          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, self.to_ascii_x_vars_complexity)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

    Method has too many lines. [16/10]
    Open

        def to_ascii
          x_ascii, x_ul = @x.to_ascii
          y_ascii, y_ul = @y.to_ascii
          x_ll = x_ascii.size - x_ul
          y_ll = y_ascii.size - y_ul
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

    Method has too many lines. [16/10]
    Open

        def to_ascii
          x_ascii, x_ul = @x.to_ascii
          y_ascii, y_ul = @y.to_ascii
          x_ll = x_ascii.size - x_ul
          y_ll = y_ascii.size - y_ul
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

    Method has too many lines. [15/10]
    Open

        def to_ascii
          x_ascii, _ = @x.to_ascii
          y_ascii, _ = @y.to_ascii
    
          x_ascii = CAS::Ascii.normalize_ascii x_ascii
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

    Assignment Branch Condition size for to_ascii is too high. [19.24/15]
    Open

        def to_ascii
          x_ascii, x_baseline = CAS::E.to_ascii
          y_ascii, _ = @x.to_ascii
    
          x_ascii = CAS::Ascii.normalize_ascii(x_ascii)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

    Method has too many lines. [12/10]
    Open

        def self.normalize_ascii(x_lines, type=nil)
          x_width = x_lines.map(&:size).max
          x_lines = x_lines.map { |l| l + (" " * (x_width - l.size)) }
          if (type == :complex and x_lines.size > 1)
            x_lines = x_lines.map { |l| l = "⎜#{l}⎟" }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

    Assignment Branch Condition size for to_ascii is too high. [16.19/15]
    Open

        def to_ascii
          x_ascii, x_bl = @x.to_ascii
          x_ascii = CAS::Ascii.normalize_ascii x_ascii
    
          ret = []
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

    Method to_ascii has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

        def to_ascii
          x_ascii, x_ul = @x.to_ascii
          y_ascii, y_ul = @y.to_ascii
          x_ll = x_ascii.size - x_ul
          y_ll = y_ascii.size - y_ul
    Severity: Minor
    Found in bin/graph2ascii.rb - About 25 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Method to_ascii has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

        def to_ascii
          x_ascii, x_ul = @x.to_ascii
          y_ascii, y_ul = @y.to_ascii
          x_ll = x_ascii.size - x_ul
          y_ll = y_ascii.size - y_ul
    Severity: Minor
    Found in bin/graph2ascii.rb - About 25 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Method to_ascii has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

        def to_ascii
          x_ascii, x_ul = @x.to_ascii
          y_ascii, y_ul = @y.to_ascii
          x_ll = x_ascii.size - x_ul
          y_ll = y_ascii.size - y_ul
    Severity: Minor
    Found in bin/graph2ascii.rb - About 25 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Method to_ascii has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

        def to_ascii
          cond_a = "#{@lower} #{@@lower_str} "
          cond_b = " #{@@upper_str} #{@upper}"
    
          x_ascii, x_bl = @x.to_ascii
    Severity: Minor
    Found in bin/graph2ascii.rb - About 25 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Method to_ascii has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

        def to_ascii
          x_ascii = []
          x_ul    = []
          x_ascii, x_ul = @x.to_ascii
          y_ascii, y_ul = @y.to_ascii
    Severity: Minor
    Found in bin/graph2ascii.rb - About 25 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

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

      class Diff
        def to_ascii
          x_ascii, x_ul = @x.to_ascii
          y_ascii, y_ul = @y.to_ascii
          x_ll = x_ascii.size - x_ul
    Severity: Major
    Found in bin/graph2ascii.rb and 1 other location - About 3 hrs to fix
    bin/graph2ascii.rb on lines 103..122

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 111.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

      class Prod
        def to_ascii
          x_ascii, x_ul = @x.to_ascii
          y_ascii, y_ul = @y.to_ascii
          x_ll = x_ascii.size - x_ul
    Severity: Major
    Found in bin/graph2ascii.rb and 1 other location - About 3 hrs to fix
    bin/graph2ascii.rb on lines 80..99

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 111.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

      class Asin
        def to_ascii
          x_ascii, x_baseline = @x.to_ascii
          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
          x_ascii = x_ascii.map.with_index do |l, i|
    Severity: Major
    Found in bin/graph2ascii.rb and 7 other locations - About 40 mins to fix
    bin/graph2ascii.rb on lines 163..169
    bin/graph2ascii.rb on lines 203..211
    bin/graph2ascii.rb on lines 215..223
    bin/graph2ascii.rb on lines 227..235
    bin/graph2ascii.rb on lines 251..259
    bin/graph2ascii.rb on lines 263..271
    bin/graph2ascii.rb on lines 296..304

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 38.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

      class Log
        def to_ascii
          x_ascii, x_baseline = @x.to_ascii
          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
          x_ascii = x_ascii.map.with_index do |l, i|
    Severity: Major
    Found in bin/graph2ascii.rb and 7 other locations - About 40 mins to fix
    bin/graph2ascii.rb on lines 163..169
    bin/graph2ascii.rb on lines 203..211
    bin/graph2ascii.rb on lines 215..223
    bin/graph2ascii.rb on lines 227..235
    bin/graph2ascii.rb on lines 239..247
    bin/graph2ascii.rb on lines 251..259
    bin/graph2ascii.rb on lines 263..271

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 38.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

      class Sin
        def to_ascii
          x_ascii, x_baseline = @x.to_ascii
          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
          x_ascii = x_ascii.map.with_index do |l, i|
    Severity: Major
    Found in bin/graph2ascii.rb and 7 other locations - About 40 mins to fix
    bin/graph2ascii.rb on lines 163..169
    bin/graph2ascii.rb on lines 215..223
    bin/graph2ascii.rb on lines 227..235
    bin/graph2ascii.rb on lines 239..247
    bin/graph2ascii.rb on lines 251..259
    bin/graph2ascii.rb on lines 263..271
    bin/graph2ascii.rb on lines 296..304

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 38.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

      class Invert
        def to_ascii
          x_ascii, x_bl = @x.to_ascii
          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    
    
    Severity: Major
    Found in bin/graph2ascii.rb and 7 other locations - About 40 mins to fix
    bin/graph2ascii.rb on lines 203..211
    bin/graph2ascii.rb on lines 215..223
    bin/graph2ascii.rb on lines 227..235
    bin/graph2ascii.rb on lines 239..247
    bin/graph2ascii.rb on lines 251..259
    bin/graph2ascii.rb on lines 263..271
    bin/graph2ascii.rb on lines 296..304

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 38.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

      class Cos
        def to_ascii
          x_ascii, x_baseline = @x.to_ascii
          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
          x_ascii = x_ascii.map.with_index do |l, i|
    Severity: Major
    Found in bin/graph2ascii.rb and 7 other locations - About 40 mins to fix
    bin/graph2ascii.rb on lines 163..169
    bin/graph2ascii.rb on lines 203..211
    bin/graph2ascii.rb on lines 227..235
    bin/graph2ascii.rb on lines 239..247
    bin/graph2ascii.rb on lines 251..259
    bin/graph2ascii.rb on lines 263..271
    bin/graph2ascii.rb on lines 296..304

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 38.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

      class Tan
        def to_ascii
          x_ascii, x_baseline = @x.to_ascii
          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
          x_ascii = x_ascii.map.with_index do |l, i|
    Severity: Major
    Found in bin/graph2ascii.rb and 7 other locations - About 40 mins to fix
    bin/graph2ascii.rb on lines 163..169
    bin/graph2ascii.rb on lines 203..211
    bin/graph2ascii.rb on lines 215..223
    bin/graph2ascii.rb on lines 239..247
    bin/graph2ascii.rb on lines 251..259
    bin/graph2ascii.rb on lines 263..271
    bin/graph2ascii.rb on lines 296..304

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 38.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

      class Atan
        def to_ascii
          x_ascii, x_baseline = @x.to_ascii
          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
          x_ascii = x_ascii.map.with_index do |l, i|
    Severity: Major
    Found in bin/graph2ascii.rb and 7 other locations - About 40 mins to fix
    bin/graph2ascii.rb on lines 163..169
    bin/graph2ascii.rb on lines 203..211
    bin/graph2ascii.rb on lines 215..223
    bin/graph2ascii.rb on lines 227..235
    bin/graph2ascii.rb on lines 239..247
    bin/graph2ascii.rb on lines 251..259
    bin/graph2ascii.rb on lines 296..304

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 38.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

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

      class Acos
        def to_ascii
          x_ascii, x_baseline = @x.to_ascii
          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
          x_ascii = x_ascii.map.with_index do |l, i|
    Severity: Major
    Found in bin/graph2ascii.rb and 7 other locations - About 40 mins to fix
    bin/graph2ascii.rb on lines 163..169
    bin/graph2ascii.rb on lines 203..211
    bin/graph2ascii.rb on lines 215..223
    bin/graph2ascii.rb on lines 227..235
    bin/graph2ascii.rb on lines 239..247
    bin/graph2ascii.rb on lines 263..271
    bin/graph2ascii.rb on lines 296..304

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 38.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Line is too long. [107/80]
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Do not use :: for method calls.
    Open

      puts CAS::abs(f.diff(x).simplify).puts_ascii(3)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for methods invoked via the :: operator instead of the . operator (like FileUtils::rmdir instead of FileUtils.rmdir).

    Example:

    # bad
    Timeout::timeout(500) { do_something }
    FileUtils::rmdir(dir)
    Marshal::dump(obj)
    
    # good
    Timeout.timeout(500) { do_something }
    FileUtils.rmdir(dir)
    Marshal.dump(obj)

    Don't use parentheses around the condition of an if.
    Open

          if (type == :complex and x_lines.size > 1)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for the presence of superfluous parentheses around the condition of if/unless/while/until.

    Example:

    # bad
    x += 1 while (x < 10)
    foo unless (bar || baz)
    
    if (x > 10)
    elsif (x < 3)
    end
    
    # good
    x += 1 while x < 10
    foo unless bar || baz
    
    if x > 10
    elsif x < 3
    end

    Redundant return detected.
    Open

          return x_lines
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant return detected. To return multiple values, use an array.
    Open

          return ret, (x_ascii.size)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant return detected. To return multiple values, use an array.
    Open

          return ret, (y_ascii.size + x_baseline)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            x_lines[0][0],  x_lines[-1][0]  = "⎛", "⎝"
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            x_lines[0][0],  x_lines[-1][0]  = "⎛", "⎝"
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          ret = ret.map { |l| (l == "" ? " " * x_ascii[0].size : l) }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == x_baseline ? "arcsin" : "      ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          x_ascii.each  { |l| ret << l + (" " * y_ascii.size) }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == x_baseline ? "log" : "   ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          ret = ret.map { |l| (l == "" ? " " * x_ascii[0].size : l) }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Omit parentheses for ternary conditions.
    Open

          return (((@y.is_a? CAS::Variable) or (@y.is_a? CAS::Constant)) ? nil : :complex)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for the presence of parentheses around ternary conditions. It is configurable to enforce inclusion or omission of parentheses using EnforcedStyle. Omission is only enforced when removing the parentheses won't cause a different behavior.

    Example: EnforcedStyle: requirenoparentheses (default)

    # bad
    foo = (bar?) ? a : b
    foo = (bar.baz?) ? a : b
    foo = (bar && baz) ? a : b
    
    # good
    foo = bar? ? a : b
    foo = bar.baz? ? a : b
    foo = bar && baz ? a : b

    Example: EnforcedStyle: require_parentheses

    # bad
    foo = bar? ? a : b
    foo = bar.baz? ? a : b
    foo = bar && baz ? a : b
    
    # good
    foo = (bar?) ? a : b
    foo = (bar.baz?) ? a : b
    foo = (bar && baz) ? a : b

    Example: EnforcedStyle: requireparentheseswhen_complex

    # bad
    foo = (bar?) ? a : b
    foo = (bar.baz?) ? a : b
    foo = bar && baz ? a : b
    
    # good
    foo = bar? ? a : b
    foo = bar.baz? ? a : b
    foo = (bar && baz) ? a : b

    Do not use trailing _s in parallel assignment. Prefer y_ascii, = @x.to_ascii.
    Open

          y_ascii, _ = @x.to_ascii
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for extra underscores in variable assignment.

    Example:

    # bad
    a, b, _ = foo()
    a, b, _, = foo()
    a, _, _ = foo()
    a, _, _, = foo()
    
    # good
    a, b, = foo()
    a, = foo()
    *a, b, _ = foo()
    # => We need to know to not include 2 variables in a
    a, *b, _ = foo()
    # => The correction `a, *b, = foo()` is a syntax error
    
    # good if AllowNamedUnderscoreVariables is true
    a, b, _something = foo()

    Missing space after #.
    Open

    #require 'Mr.CAS'
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks whether comments have a leading space after the # denoting the start of the comment. The leading space is not required for some RDoc special syntax, like #++, #--, #:nodoc, =begin- and =end comments, "shebang" directives, or rackup options.

    Example:

    # bad
    #Some comment
    
    # good
    # Some comment

    Script file graph2ascii.rb doesn't have execute permission.
    Open

    #!/usr/bin/env ruby
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Line is too long. [107/80]
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Use || instead of or.
    Open

          return (((@y.is_a? CAS::Variable) or (@y.is_a? CAS::Constant)) ? nil : :complex)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for uses of and and or, and suggests using && and || instead. It can be configured to check only in conditions, or in all contexts.

    Example: EnforcedStyle: always (default)

    # bad
    foo.save and return
    
    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    if foo && bar
    end

    Example: EnforcedStyle: conditionals

    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    foo.save and return
    
    # good
    if foo && bar
    end

    Do not use :: for method calls.
    Open

      f = CAS::exp(CAS::sin(x ** (2 ** x))) + CAS::cos(x)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for methods invoked via the :: operator instead of the . operator (like FileUtils::rmdir instead of FileUtils.rmdir).

    Example:

    # bad
    Timeout::timeout(500) { do_something }
    FileUtils::rmdir(dir)
    Marshal::dump(obj)
    
    # good
    Timeout.timeout(500) { do_something }
    FileUtils.rmdir(dir)
    Marshal.dump(obj)

    Missing top-level class documentation comment.
    Open

      class Acos
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Redundant return detected.
    Open

          return (((@y.is_a? CAS::Variable) or (@y.is_a? CAS::Constant)) ? nil : :complex)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant self detected.
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant uses of self.

    The usage of self is only needed when:

    • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

    • Calling an attribute writer to prevent an local variable assignment.

    Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

    Note we allow uses of self with operators because it would be awkward otherwise.

    Example:

    # bad
    def foo(bar)
      self.baz
    end
    
    # good
    def foo(bar)
      self.bar  # Resolves name clash with the argument.
    end
    
    def foo
      bar = 1
      self.bar  # Resolves name clash with the local variable.
    end
    
    def foo
      %w[x y z].select do |bar|
        self.bar == bar  # Resolves name clash with argument of the block.
      end
    end

    Redundant self detected.
    Open

          a, _, _ = self.to_ascii
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant uses of self.

    The usage of self is only needed when:

    • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

    • Calling an attribute writer to prevent an local variable assignment.

    Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

    Note we allow uses of self with operators because it would be awkward otherwise.

    Example:

    # bad
    def foo(bar)
      self.baz
    end
    
    # good
    def foo(bar)
      self.bar  # Resolves name clash with the argument.
    end
    
    def foo
      bar = 1
      self.bar  # Resolves name clash with the local variable.
    end
    
    def foo
      %w[x y z].select do |bar|
        self.bar == bar  # Resolves name clash with argument of the block.
      end
    end

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          ret = ret.map { |l| (l == "" ? " " * x_ascii[0].size : l) }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          x_ascii = x_ascii.map { |l| "│" + l + "│" }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == x_baseline ? "arcsin" : "      ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          return a.map { |l| (" " * offset) + l }.join("\n")
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Do not use trailing _s in parallel assignment. Prefer y_ascii, = @y.to_ascii.
    Open

          y_ascii, _ = @y.to_ascii
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for extra underscores in variable assignment.

    Example:

    # bad
    a, b, _ = foo()
    a, b, _, = foo()
    a, _, _ = foo()
    a, _, _, = foo()
    
    # good
    a, b, = foo()
    a, = foo()
    *a, b, _ = foo()
    # => We need to know to not include 2 variables in a
    a, *b, _ = foo()
    # => The correction `a, *b, = foo()` is a syntax error
    
    # good if AllowNamedUnderscoreVariables is true
    a, b, _something = foo()

    Prefer to_s over string interpolation.
    Open

          return "#{self}".lines, 0
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for strings that are just an interpolated expression.

    Example:

    # bad
    "#{@var}"
    
    # good
    @var.to_s
    
    # good if @var is already a String
    @var

    Line is too long. [84/80]
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, self.to_ascii_x_vars_complexity)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Line is too long. [107/80]
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Missing top-level class documentation comment.
    Open

      class Sum
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Missing top-level class documentation comment.
    Open

      class Div
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Missing top-level class documentation comment.
    Open

      class Asin
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Redundant return detected.
    Open

          return (((@x.is_a? CAS::Variable) or (@x.is_a? CAS::Constant)) ? nil : :complex)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant return detected. To return multiple values, use an array.
    Open

          return x_ascii, x_baseline
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          y_ascii.each  { |l| ret << (" " * x_ascii[0].size) + l }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == x_baseline ? "tan" : "   ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == x_baseline ? "arccos" : "      ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == x_bl ? cond_a : " " * cond_a.size ) + l + (i == x_bl ? cond_b : " " * cond_b.size )
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == x_bl ? cond_a : " " * cond_a.size ) + l + (i == x_bl ? cond_b : " " * cond_b.size )
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Do not use trailing _s in parallel assignment. Prefer a, = self.to_ascii.
    Open

          a, _, _ = self.to_ascii
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for extra underscores in variable assignment.

    Example:

    # bad
    a, b, _ = foo()
    a, b, _, = foo()
    a, _, _ = foo()
    a, _, _, = foo()
    
    # good
    a, b, = foo()
    a, = foo()
    *a, b, _ = foo()
    # => We need to know to not include 2 variables in a
    a, *b, _ = foo()
    # => The correction `a, *b, = foo()` is a syntax error
    
    # good if AllowNamedUnderscoreVariables is true
    a, b, _something = foo()

    Missing space after #.
    Open

        #def to_ascii
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks whether comments have a leading space after the # denoting the start of the comment. The leading space is not required for some RDoc special syntax, like #++, #--, #:nodoc, =begin- and =end comments, "shebang" directives, or rackup options.

    Example:

    # bad
    #Some comment
    
    # good
    # Some comment

    (...) interpreted as grouped expression.
    Open

      puts (CAS::sqrt(2 + 1/(x+1))).puts_ascii(2)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks for space between the name of a called method and a left parenthesis.

    Example:

    # bad
    
    puts (x + y)

    Example:

    # good
    
    puts(x + y)

    Line is too long. [84/80]
    Open

          y_ascii = CAS::Ascii.normalize_ascii(y_ascii, self.to_ascii_y_vars_complexity)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Line is too long. [107/80]
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Use || instead of or.
    Open

          return (((@x.is_a? CAS::Variable) or (@x.is_a? CAS::Constant)) ? nil : :complex)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for uses of and and or, and suggests using && and || instead. It can be configured to check only in conditions, or in all contexts.

    Example: EnforcedStyle: always (default)

    # bad
    foo.save and return
    
    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    if foo && bar
    end

    Example: EnforcedStyle: conditionals

    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    foo.save and return
    
    # good
    if foo && bar
    end

    Do not use :: for method calls.
    Open

      x = CAS::vars :x
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for methods invoked via the :: operator instead of the . operator (like FileUtils::rmdir instead of FileUtils.rmdir).

    Example:

    # bad
    Timeout::timeout(500) { do_something }
    FileUtils::rmdir(dir)
    Marshal::dump(obj)
    
    # good
    Timeout.timeout(500) { do_something }
    FileUtils.rmdir(dir)
    Marshal.dump(obj)

    Missing top-level class documentation comment.
    Open

      class Cos
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            ret[ul - y_ul + i] += (i == y_ul ? " − " : "   ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Do not use trailing _s in parallel assignment. Prefer x_ascii, = @x.to_ascii.
    Open

          x_ascii, _ = @x.to_ascii
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for extra underscores in variable assignment.

    Example:

    # bad
    a, b, _ = foo()
    a, b, _, = foo()
    a, _, _ = foo()
    a, _, _, = foo()
    
    # good
    a, b, = foo()
    a, = foo()
    *a, b, _ = foo()
    # => We need to know to not include 2 variables in a
    a, *b, _ = foo()
    # => The correction `a, *b, = foo()` is a syntax error
    
    # good if AllowNamedUnderscoreVariables is true
    a, b, _something = foo()

    Space inside parentheses detected.
    Open

            (i == x_bl ? cond_a : " " * cond_a.size ) + l + (i == x_bl ? cond_b : " " * cond_b.size )
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks for spaces inside ordinary round parentheses.

    Example:

    # bad
    f( 3)
    g = (a + 3 )
    
    # good
    f(3)
    g = (a + 3)

    Line is too long. [107/80]
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Line is too long. [107/80]
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Line is too long. [84/80]
    Open

          y_ascii = CAS::Ascii.normalize_ascii(y_ascii, self.to_ascii_x_vars_complexity)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Line is too long. [86/80]
    Open

          return (((@x.is_a? CAS::Variable) or (@x.is_a? CAS::Constant)) ? nil : :complex)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Missing top-level class documentation comment.
    Open

      class BinaryOp
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Don't use parentheses around the condition of an elsif.
    Open

          elsif (type == :complex and x_lines.size == 1)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for the presence of superfluous parentheses around the condition of if/unless/while/until.

    Example:

    # bad
    x += 1 while (x < 10)
    foo unless (bar || baz)
    
    if (x > 10)
    elsif (x < 3)
    end
    
    # good
    x += 1 while x < 10
    foo unless bar || baz
    
    if x > 10
    elsif x < 3
    end

    Redundant return detected. To return multiple values, use an array.
    Open

          return ret, ul
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant return detected. To return multiple values, use an array.
    Open

          return x_ascii, x_baseline
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant self detected.
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant uses of self.

    The usage of self is only needed when:

    • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

    • Calling an attribute writer to prevent an local variable assignment.

    Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

    Note we allow uses of self with operators because it would be awkward otherwise.

    Example:

    # bad
    def foo(bar)
      self.baz
    end
    
    # good
    def foo(bar)
      self.bar  # Resolves name clash with the argument.
    end
    
    def foo
      bar = 1
      self.bar  # Resolves name clash with the local variable.
    end
    
    def foo
      %w[x y z].select do |bar|
        self.bar == bar  # Resolves name clash with argument of the block.
      end
    end

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == x_baseline ? "log" : "   ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Omit parentheses for ternary conditions.
    Open

          return (((@y.is_a? CAS::Variable) or (@y.is_a? CAS::Constant)) ? nil : :complex)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for the presence of parentheses around ternary conditions. It is configurable to enforce inclusion or omission of parentheses using EnforcedStyle. Omission is only enforced when removing the parentheses won't cause a different behavior.

    Example: EnforcedStyle: requirenoparentheses (default)

    # bad
    foo = (bar?) ? a : b
    foo = (bar.baz?) ? a : b
    foo = (bar && baz) ? a : b
    
    # good
    foo = bar? ? a : b
    foo = bar.baz? ? a : b
    foo = bar && baz ? a : b

    Example: EnforcedStyle: require_parentheses

    # bad
    foo = bar? ? a : b
    foo = bar.baz? ? a : b
    foo = bar && baz ? a : b
    
    # good
    foo = (bar?) ? a : b
    foo = (bar.baz?) ? a : b
    foo = (bar && baz) ? a : b

    Example: EnforcedStyle: requireparentheseswhen_complex

    # bad
    foo = (bar?) ? a : b
    foo = (bar.baz?) ? a : b
    foo = bar && baz ? a : b
    
    # good
    foo = bar? ? a : b
    foo = bar.baz? ? a : b
    foo = (bar && baz) ? a : b

    Surrounding space missing in default value assignment.
    Open

        def self.normalize_ascii(x_lines, type=nil)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks that the equals signs in parameter default assignments have or don't have surrounding space depending on configuration.

    Example:

    # bad
    def some_method(arg1=:default, arg2=nil, arg3=[])
      # do something...
    end
    
    # good
    def some_method(arg1 = :default, arg2 = nil, arg3 = [])
      # do something...
    end

    Surrounding space missing in default value assignment.
    Open

        def puts_ascii(offset=0)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks that the equals signs in parameter default assignments have or don't have surrounding space depending on configuration.

    Example:

    # bad
    def some_method(arg1=:default, arg2=nil, arg3=[])
      # do something...
    end
    
    # good
    def some_method(arg1 = :default, arg2 = nil, arg3 = [])
      # do something...
    end

    Space around operator ** detected.
    Open

      f = CAS::exp(CAS::sin(x ** (2 ** x))) + CAS::cos(x)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks that operators have space around them, except for ** which should not have surrounding space.

    Example:

    # bad
    total = 3*4
    "apple"+"juice"
    my_number = 38/4
    a ** b
    
    # good
    total = 3 * 4
    "apple" + "juice"
    my_number = 38 / 4
    a**b

    Useless assignment to variable - l.
    Open

            x_lines = x_lines.map { |l| l = "(#{l})" }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for every useless assignment to local variable in every scope. The basic idea for this cop was from the warning of ruby -cw:

    assigned but unused variable - foo

    Currently this cop has advanced logic that detects unreferenced reassignments and properly handles varied cases such as branch, loop, rescue, ensure, etc.

    Example:

    # bad
    
    def some_method
      some_var = 1
      do_something
    end

    Example:

    # good
    
    def some_method
      some_var = 1
      do_something(some_var)
    end

    Missing top-level module documentation comment.
    Open

      module Ascii
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Missing top-level class documentation comment.
    Open

      class Atan
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Do not use parallel assignment.
    Open

          ul, ll = [x_ul, y_ul].max, [x_ll, y_ll].max
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks for simple usages of parallel assignment. This will only complain when the number of variables being assigned matched the number of assigning variables.

    Example:

    # bad
    a, b, c = 1, 2, 3
    a, b, c = [1, 2, 3]
    
    # good
    one, two = *foo
    a, b = foo()
    a, b = b, a
    
    a = 1
    b = 2
    c = 3

    Redundant return detected. To return multiple values, use an array.
    Open

          return ret, ul
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant return detected.
    Open

          return (((@y.is_a? CAS::Variable) or (@y.is_a? CAS::Constant)) ? nil : :complex)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant return detected. To return multiple values, use an array.
    Open

          return x_ascii, x_bl
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Prefer $PROGRAM_NAME over $0.
    Open

    if __FILE__ == $0
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          line = ""
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            ret[ul - y_ul + i] += (i == y_ul ? " #{@cond_repr} " : "   ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Useless assignment to variable - l.
    Open

            x_lines = x_lines.map { |l| l = "⎜#{l}⎟" }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for every useless assignment to local variable in every scope. The basic idea for this cop was from the warning of ruby -cw:

    assigned but unused variable - foo

    Currently this cop has advanced logic that detects unreferenced reassignments and properly handles varied cases such as branch, loop, rescue, ensure, etc.

    Example:

    # bad
    
    def some_method
      some_var = 1
      do_something
    end

    Example:

    # good
    
    def some_method
      some_var = 1
      do_something(some_var)
    end

    Line is too long. [107/80]
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Line is too long. [86/80]
    Open

          return (((@y.is_a? CAS::Variable) or (@y.is_a? CAS::Constant)) ? nil : :complex)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Use || instead of or.
    Open

          return (((@x.is_a? CAS::Variable) or (@x.is_a? CAS::Constant)) ? nil : :complex)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for uses of and and or, and suggests using && and || instead. It can be configured to check only in conditions, or in all contexts.

    Example: EnforcedStyle: always (default)

    # bad
    foo.save and return
    
    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    if foo && bar
    end

    Example: EnforcedStyle: conditionals

    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    foo.save and return
    
    # good
    if foo && bar
    end

    Do not use :: for method calls.
    Open

      f = CAS::exp(CAS::sin(x ** (2 ** x))) + CAS::cos(x)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for methods invoked via the :: operator instead of the . operator (like FileUtils::rmdir instead of FileUtils.rmdir).

    Example:

    # bad
    Timeout::timeout(500) { do_something }
    FileUtils::rmdir(dir)
    Marshal::dump(obj)
    
    # good
    Timeout.timeout(500) { do_something }
    FileUtils.rmdir(dir)
    Marshal.dump(obj)

    Missing top-level class documentation comment.
    Open

      class BoxCondition
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Redundant return detected. To return multiple values, use an array.
    Open

          return (ret + x_ascii), (x_bl + 1)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant return detected. To return multiple values, use an array.
    Open

          return x_ascii, x_baseline
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant self detected.
    Open

          y_ascii = CAS::Ascii.normalize_ascii(y_ascii, self.to_ascii_x_vars_complexity)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant uses of self.

    The usage of self is only needed when:

    • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

    • Calling an attribute writer to prevent an local variable assignment.

    Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

    Note we allow uses of self with operators because it would be awkward otherwise.

    Example:

    # bad
    def foo(bar)
      self.baz
    end
    
    # good
    def foo(bar)
      self.bar  # Resolves name clash with the argument.
    end
    
    def foo
      bar = 1
      self.bar  # Resolves name clash with the local variable.
    end
    
    def foo
      %w[x y z].select do |bar|
        self.bar == bar  # Resolves name clash with argument of the block.
      end
    end

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            ret[ul - y_ul + i] += (i == y_ul ? " · " : "   ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == (x_ascii.size - 1) ? "╭┤" : " │") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == x_baseline ? "tan" : "   ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Reverse the order of the operands __FILE__ == $0.
    Open

    if __FILE__ == $0
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for Yoda conditions, i.e. comparison operations where readability is reduced because the operands are not ordered the same way as they would be ordered in spoken English.

    Example: EnforcedStyle: allcomparisonoperators (default)

    # bad
    99 == foo
    "bar" != foo
    42 >= foo
    10 < bar
    
    # good
    foo == 99
    foo == "bar"
    foo <= 42
    bar > 10

    Example: EnforcedStyle: equalityoperatorsonly

    # bad
    99 == foo
    "bar" != foo
    
    # good
    99 >= foo
    3 < a && a < 5

    Line is too long. [86/80]
    Open

          return (((@y.is_a? CAS::Variable) or (@y.is_a? CAS::Constant)) ? nil : :complex)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Use && instead of and.
    Open

          if (type == :complex and x_lines.size > 1)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for uses of and and or, and suggests using && and || instead. It can be configured to check only in conditions, or in all contexts.

    Example: EnforcedStyle: always (default)

    # bad
    foo.save and return
    
    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    if foo && bar
    end

    Example: EnforcedStyle: conditionals

    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    foo.save and return
    
    # good
    if foo && bar
    end

    Missing top-level class documentation comment.
    Open

      class Prod
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Don't use parentheses around a method call.
    Open

          return ret, (x_ascii.size)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant parentheses.

    Example:

    # bad
    (x) if ((y.z).nil?)
    
    # good
    x if y.z.nil?

    Redundant return detected.
    Open

          return a.map { |l| (" " * offset) + l }.join("\n")
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant return detected. To return multiple values, use an array.
    Open

          return "#{@name}".lines, 0
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant return detected. To return multiple values, use an array.
    Open

          return x_ascii, x_baseline
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant return detected. To return multiple values, use an array.
    Open

          return x_ascii, x_baseline
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant return detected.
    Open

          return a.map { |l| (" " * offset) + l }.join("\n")
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant self detected.
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant uses of self.

    The usage of self is only needed when:

    • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

    • Calling an attribute writer to prevent an local variable assignment.

    Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

    Note we allow uses of self with operators because it would be awkward otherwise.

    Example:

    # bad
    def foo(bar)
      self.baz
    end
    
    # good
    def foo(bar)
      self.bar  # Resolves name clash with the argument.
    end
    
    def foo
      bar = 1
      self.bar  # Resolves name clash with the local variable.
    end
    
    def foo
      %w[x y z].select do |bar|
        self.bar == bar  # Resolves name clash with argument of the block.
      end
    end

    Redundant self detected.
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant uses of self.

    The usage of self is only needed when:

    • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

    • Calling an attribute writer to prevent an local variable assignment.

    Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

    Note we allow uses of self with operators because it would be awkward otherwise.

    Example:

    # bad
    def foo(bar)
      self.baz
    end
    
    # good
    def foo(bar)
      self.bar  # Resolves name clash with the argument.
    end
    
    def foo
      bar = 1
      self.bar  # Resolves name clash with the local variable.
    end
    
    def foo
      %w[x y z].select do |bar|
        self.bar == bar  # Resolves name clash with argument of the block.
      end
    end

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          return a.map { |l| (" " * offset) + l }.join("\n")
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            y_ascii = y_ascii.map { |l| (" " * displace) + l }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          ret << " ┌" + "─" * x_ascii[0].size
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == x_baseline ? "sin" : "   ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Do not use trailing _s in parallel assignment. Prefer y_ascii, = @y.to_ascii.
    Open

          y_ascii, _ = @y.to_ascii
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for extra underscores in variable assignment.

    Example:

    # bad
    a, b, _ = foo()
    a, b, _, = foo()
    a, _, _ = foo()
    a, _, _, = foo()
    
    # good
    a, b, = foo()
    a, = foo()
    *a, b, _ = foo()
    # => We need to know to not include 2 variables in a
    a, *b, _ = foo()
    # => The correction `a, *b, = foo()` is a syntax error
    
    # good if AllowNamedUnderscoreVariables is true
    a, b, _something = foo()

    Surrounding space missing for operator /.
    Open

      puts (CAS::sqrt(2 + 1/(x+1))).puts_ascii(2)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks that operators have space around them, except for ** which should not have surrounding space.

    Example:

    # bad
    total = 3*4
    "apple"+"juice"
    my_number = 38/4
    a ** b
    
    # good
    total = 3 * 4
    "apple" + "juice"
    my_number = 38 / 4
    a**b

    Line is too long. [107/80]
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Line is too long. [97/80]
    Open

            (i == x_bl ? cond_a : " " * cond_a.size ) + l + (i == x_bl ? cond_b : " " * cond_b.size )
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Use && instead of and.
    Open

          elsif (type == :complex and x_lines.size == 1)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for uses of and and or, and suggests using && and || instead. It can be configured to check only in conditions, or in all contexts.

    Example: EnforcedStyle: always (default)

    # bad
    foo.save and return
    
    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    if foo && bar
    end

    Example: EnforcedStyle: conditionals

    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    foo.save and return
    
    # good
    if foo && bar
    end

    Do not use :: for method calls.
    Open

      puts (CAS::sqrt(2 + 1/(x+1))).puts_ascii(2)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for methods invoked via the :: operator instead of the . operator (like FileUtils::rmdir instead of FileUtils.rmdir).

    Example:

    # bad
    Timeout::timeout(500) { do_something }
    FileUtils::rmdir(dir)
    Marshal::dump(obj)
    
    # good
    Timeout.timeout(500) { do_something }
    FileUtils.rmdir(dir)
    Marshal.dump(obj)

    Missing top-level class documentation comment.
    Open

      class Variable
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Do not use parallel assignment.
    Open

            x_lines[0][-1], x_lines[-1][-1] = "⎞", "⎠"
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks for simple usages of parallel assignment. This will only complain when the number of variables being assigned matched the number of assigning variables.

    Example:

    # bad
    a, b, c = 1, 2, 3
    a, b, c = [1, 2, 3]
    
    # good
    one, two = *foo
    a, b = foo()
    a, b = b, a
    
    a = 1
    b = 2
    c = 3

    Do not use parallel assignment.
    Open

          ul, ll = [x_ul, y_ul].max, [x_ll, y_ll].max
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks for simple usages of parallel assignment. This will only complain when the number of variables being assigned matched the number of assigning variables.

    Example:

    # bad
    a, b, c = 1, 2, 3
    a, b, c = [1, 2, 3]
    
    # good
    one, two = *foo
    a, b = foo()
    a, b = b, a
    
    a = 1
    b = 2
    c = 3

    Redundant return detected. To return multiple values, use an array.
    Open

          return ret, ul
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Missing space after #.
    Open

        #end
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks whether comments have a leading space after the # denoting the start of the comment. The leading space is not required for some RDoc special syntax, like #++, #--, #:nodoc, =begin- and =end comments, "shebang" directives, or rackup options.

    Example:

    # bad
    #Some comment
    
    # good
    # Some comment

    Redundant return detected.
    Open

          return (((@x.is_a? CAS::Variable) or (@x.is_a? CAS::Constant)) ? nil : :complex)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Space around operator ** detected.
    Open

      f = CAS::exp(CAS::sin(x ** (2 ** x))) + CAS::cos(x)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks that operators have space around them, except for ** which should not have surrounding space.

    Example:

    # bad
    total = 3*4
    "apple"+"juice"
    my_number = 38/4
    a ** b
    
    # good
    total = 3 * 4
    "apple" + "juice"
    my_number = 38 / 4
    a**b

    Space inside parentheses detected.
    Open

            (i == x_bl ? cond_a : " " * cond_a.size ) + l + (i == x_bl ? cond_b : " " * cond_b.size )
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks for spaces inside ordinary round parentheses.

    Example:

    # bad
    f( 3)
    g = (a + 3 )
    
    # good
    f(3)
    g = (a + 3)

    Useless assignment to variable - l.
    Open

            x_lines = x_lines.map { |l| l = "(#{l})" }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for every useless assignment to local variable in every scope. The basic idea for this cop was from the warning of ruby -cw:

    assigned but unused variable - foo

    Currently this cop has advanced logic that detects unreferenced reassignments and properly handles varied cases such as branch, loop, rescue, ensure, etc.

    Example:

    # bad
    
    def some_method
      some_var = 1
      do_something
    end

    Example:

    # good
    
    def some_method
      some_var = 1
      do_something(some_var)
    end

    Redundant self detected.
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, self.to_ascii_x_vars_complexity)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant uses of self.

    The usage of self is only needed when:

    • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

    • Calling an attribute writer to prevent an local variable assignment.

    Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

    Note we allow uses of self with operators because it would be awkward otherwise.

    Example:

    # bad
    def foo(bar)
      self.baz
    end
    
    # good
    def foo(bar)
      self.bar  # Resolves name clash with the argument.
    end
    
    def foo
      bar = 1
      self.bar  # Resolves name clash with the local variable.
    end
    
    def foo
      %w[x y z].select do |bar|
        self.bar == bar  # Resolves name clash with argument of the block.
      end
    end

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          ret = ret.map { |l| (l == "" ? (" " * x_ascii[0].size) : l) }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Missing top-level class documentation comment.
    Open

      class Op
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          ret = ret.map { |l| (l == "" ? " " * x_ascii[0].size : l) }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Don't use parentheses around a method call.
    Open

      puts (CAS::sqrt(2 + 1/(x+1))).puts_ascii(2)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant parentheses.

    Example:

    # bad
    (x) if ((y.z).nil?)
    
    # good
    x if y.z.nil?

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            x_ascii = x_ascii.map { |l| (" " * displace) + l }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Redundant return detected. To return multiple values, use an array.
    Open

          return "#{self}".lines, 0
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          x_ascii = x_ascii.map.with_index { |l, i| (i == x_bl ? "-" : " ") + l }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Redundant return detected. To return multiple values, use an array.
    Open

          return x_ascii, x_baseline
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          x_ascii = x_ascii.map { |l| "│" + l + "│" }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Redundant return detected. To return multiple values, use an array.
    Open

          return ret, ul
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant self detected.
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant uses of self.

    The usage of self is only needed when:

    • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

    • Calling an attribute writer to prevent an local variable assignment.

    Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

    Note we allow uses of self with operators because it would be awkward otherwise.

    Example:

    # bad
    def foo(bar)
      self.baz
    end
    
    # good
    def foo(bar)
      self.bar  # Resolves name clash with the argument.
    end
    
    def foo
      bar = 1
      self.bar  # Resolves name clash with the local variable.
    end
    
    def foo
      %w[x y z].select do |bar|
        self.bar == bar  # Resolves name clash with argument of the block.
      end
    end

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          ret = Array.new (ul + ll), ""
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            x_lines[0][-1], x_lines[-1][-1] = "⎞", "⎠"
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Omit parentheses for ternary conditions.
    Open

          return (((@x.is_a? CAS::Variable) or (@x.is_a? CAS::Constant)) ? nil : :complex)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for the presence of parentheses around ternary conditions. It is configurable to enforce inclusion or omission of parentheses using EnforcedStyle. Omission is only enforced when removing the parentheses won't cause a different behavior.

    Example: EnforcedStyle: requirenoparentheses (default)

    # bad
    foo = (bar?) ? a : b
    foo = (bar.baz?) ? a : b
    foo = (bar && baz) ? a : b
    
    # good
    foo = bar? ? a : b
    foo = bar.baz? ? a : b
    foo = bar && baz ? a : b

    Example: EnforcedStyle: require_parentheses

    # bad
    foo = bar? ? a : b
    foo = bar.baz? ? a : b
    foo = bar && baz ? a : b
    
    # good
    foo = (bar?) ? a : b
    foo = (bar.baz?) ? a : b
    foo = (bar && baz) ? a : b

    Example: EnforcedStyle: requireparentheseswhen_complex

    # bad
    foo = (bar?) ? a : b
    foo = (bar.baz?) ? a : b
    foo = bar && baz ? a : b
    
    # good
    foo = bar? ? a : b
    foo = bar.baz? ? a : b
    foo = (bar && baz) ? a : b

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            ret[ul - y_ul + i] += (i == y_ul ? " · " : "   ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            line = "─" * y_ascii[0].size
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == x_baseline ? "arctan" : "      ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Omit parentheses for ternary conditions.
    Open

          return (((@x.is_a? CAS::Variable) or (@x.is_a? CAS::Constant)) ? nil : :complex)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for the presence of parentheses around ternary conditions. It is configurable to enforce inclusion or omission of parentheses using EnforcedStyle. Omission is only enforced when removing the parentheses won't cause a different behavior.

    Example: EnforcedStyle: requirenoparentheses (default)

    # bad
    foo = (bar?) ? a : b
    foo = (bar.baz?) ? a : b
    foo = (bar && baz) ? a : b
    
    # good
    foo = bar? ? a : b
    foo = bar.baz? ? a : b
    foo = bar && baz ? a : b

    Example: EnforcedStyle: require_parentheses

    # bad
    foo = bar? ? a : b
    foo = bar.baz? ? a : b
    foo = bar && baz ? a : b
    
    # good
    foo = (bar?) ? a : b
    foo = (bar.baz?) ? a : b
    foo = (bar && baz) ? a : b

    Example: EnforcedStyle: requireparentheseswhen_complex

    # bad
    foo = (bar?) ? a : b
    foo = (bar.baz?) ? a : b
    foo = bar && baz ? a : b
    
    # good
    foo = bar? ? a : b
    foo = bar.baz? ? a : b
    foo = (bar && baz) ? a : b

    (...) interpreted as grouped expression.
    Open

      puts (-f/x + f).puts_ascii(3)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks for space between the name of a called method and a left parenthesis.

    Example:

    # bad
    
    puts (x + y)

    Example:

    # good
    
    puts(x + y)

    Do not use parallel assignment.
    Open

            x_lines[0][0],  x_lines[-1][0]  = "⎛", "⎝"
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks for simple usages of parallel assignment. This will only complain when the number of variables being assigned matched the number of assigning variables.

    Example:

    # bad
    a, b, c = 1, 2, 3
    a, b, c = [1, 2, 3]
    
    # good
    one, two = *foo
    a, b = foo()
    a, b = b, a
    
    a = 1
    b = 2
    c = 3

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            x_lines[0][-1], x_lines[-1][-1] = "⎞", "⎠"
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          x_ascii = x_ascii.map.with_index { |l, i| (i == x_bl ? "-" : " ") + l }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == (x_ascii.size - 1) ? "╭┤" : " │") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          ret = ret.map { |l| (l == "" ? " " * x_ascii[0].size : l) }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Surrounding space missing for operator +.
    Open

      puts (CAS::sqrt(2 + 1/(x+1))).puts_ascii(2)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks that operators have space around them, except for ** which should not have surrounding space.

    Example:

    # bad
    total = 3*4
    "apple"+"juice"
    my_number = 38/4
    a ** b
    
    # good
    total = 3 * 4
    "apple" + "juice"
    my_number = 38 / 4
    a**b

    Missing top-level class documentation comment.
    Open

      class Pow
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Redundant return detected. To return multiple values, use an array.
    Open

          return ret, (y_ascii.size + x_baseline)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          ret << " ┌" + "─" * x_ascii[0].size
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          y_ascii.each  { |l| ret << (" " * x_ascii.size) + l }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Missing top-level class documentation comment.
    Open

      class Diff
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Missing top-level class documentation comment.
    Open

      class Invert
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Missing top-level class documentation comment.
    Open

      class Tan
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Do not use parallel assignment.
    Open

          ul, ll = [x_ul, y_ul].max, [x_ll, y_ll].max
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks for simple usages of parallel assignment. This will only complain when the number of variables being assigned matched the number of assigning variables.

    Example:

    # bad
    a, b, c = 1, 2, 3
    a, b, c = [1, 2, 3]
    
    # good
    one, two = *foo
    a, b = foo()
    a, b = b, a
    
    a = 1
    b = 2
    c = 3

    Redundant self detected.
    Open

          a, _, _ = self.to_ascii
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant uses of self.

    The usage of self is only needed when:

    • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

    • Calling an attribute writer to prevent an local variable assignment.

    Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

    Note we allow uses of self with operators because it would be awkward otherwise.

    Example:

    # bad
    def foo(bar)
      self.baz
    end
    
    # good
    def foo(bar)
      self.bar  # Resolves name clash with the argument.
    end
    
    def foo
      bar = 1
      self.bar  # Resolves name clash with the local variable.
    end
    
    def foo
      %w[x y z].select do |bar|
        self.bar == bar  # Resolves name clash with argument of the block.
      end
    end

    Redundant self detected.
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant uses of self.

    The usage of self is only needed when:

    • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

    • Calling an attribute writer to prevent an local variable assignment.

    Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

    Note we allow uses of self with operators because it would be awkward otherwise.

    Example:

    # bad
    def foo(bar)
      self.baz
    end
    
    # good
    def foo(bar)
      self.bar  # Resolves name clash with the argument.
    end
    
    def foo
      bar = 1
      self.bar  # Resolves name clash with the local variable.
    end
    
    def foo
      %w[x y z].select do |bar|
        self.bar == bar  # Resolves name clash with argument of the block.
      end
    end

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          x_lines = x_lines.map { |l| l + (" " * (x_width - l.size)) }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            ret[ul - y_ul + i] += (i == y_ul ? " + " : "   ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            ret[ul - y_ul + i] += (i == y_ul ? " + " : "   ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          ret = ret.map { |l| (l == "" ? " " * x_ascii[0].size : l) }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == x_baseline ? "cos" : "   ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == x_baseline ? "arccos" : "      ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer to_s over string interpolation.
    Open

          return "#{@name}".lines, 0
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for strings that are just an interpolated expression.

    Example:

    # bad
    "#{@var}"
    
    # good
    @var.to_s
    
    # good if @var is already a String
    @var

    (...) interpreted as grouped expression.
    Open

      puts (f.smaller(f.diff(x).simplify)).puts_ascii(3)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks for space between the name of a called method and a left parenthesis.

    Example:

    # bad
    
    puts (x + y)

    Example:

    # good
    
    puts(x + y)

    Missing top-level class documentation comment.
    Open

      class Abs
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Redundant return detected. To return multiple values, use an array.
    Open

          return x_ascii, x_bl
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant return detected. To return multiple values, use an array.
    Open

          return x_ascii, x_baseline
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Redundant self detected.
    Open

          y_ascii = CAS::Ascii.normalize_ascii(y_ascii, self.to_ascii_y_vars_complexity)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant uses of self.

    The usage of self is only needed when:

    • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

    • Calling an attribute writer to prevent an local variable assignment.

    Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

    Note we allow uses of self with operators because it would be awkward otherwise.

    Example:

    # bad
    def foo(bar)
      self.baz
    end
    
    # good
    def foo(bar)
      self.bar  # Resolves name clash with the argument.
    end
    
    def foo
      bar = 1
      self.bar  # Resolves name clash with the local variable.
    end
    
    def foo
      %w[x y z].select do |bar|
        self.bar == bar  # Resolves name clash with argument of the block.
      end
    end

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          ret = Array.new (ul + ll), ""
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Surrounding space missing in default value assignment.
    Open

        def puts_ascii(offset=0)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks that the equals signs in parameter default assignments have or don't have surrounding space depending on configuration.

    Example:

    # bad
    def some_method(arg1=:default, arg2=nil, arg3=[])
      # do something...
    end
    
    # good
    def some_method(arg1 = :default, arg2 = nil, arg3 = [])
      # do something...
    end

    Line is too long. [86/80]
    Open

          return (((@x.is_a? CAS::Variable) or (@x.is_a? CAS::Constant)) ? nil : :complex)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Missing top-level class documentation comment.
    Open

      class Log
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Do not use parallel assignment.
    Open

          ul, ll = [x_ul, y_ul].max, [x_ll, y_ll].max
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks for simple usages of parallel assignment. This will only complain when the number of variables being assigned matched the number of assigning variables.

    Example:

    # bad
    a, b, c = 1, 2, 3
    a, b, c = [1, 2, 3]
    
    # good
    one, two = *foo
    a, b = foo()
    a, b = b, a
    
    a = 1
    b = 2
    c = 3

    Don't use parentheses around a method call.
    Open

      puts (f.smaller(f.diff(x).simplify)).puts_ascii(3)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant parentheses.

    Example:

    # bad
    (x) if ((y.z).nil?)
    
    # good
    x if y.z.nil?

    Redundant return detected. To return multiple values, use an array.
    Open

          return x_ascii, x_bl
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant return expressions.

    Example:

    def test
      return something
    end
    
    def test
      one
      two
      three
      return something
    end

    It should be extended to handle methods whose body is if/else or a case expression with a default branch.

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          ret = Array.new (ul + ll), ""
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == x_baseline ? "sin" : "   ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == x_baseline ? "arctan" : "      ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Do not use trailing _s in parallel assignment. Prefer a, = self.to_ascii.
    Open

          a, _, _ = self.to_ascii
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for extra underscores in variable assignment.

    Example:

    # bad
    a, b, _ = foo()
    a, b, _, = foo()
    a, _, _ = foo()
    a, _, _, = foo()
    
    # good
    a, b, = foo()
    a, = foo()
    *a, b, _ = foo()
    # => We need to know to not include 2 variables in a
    a, *b, _ = foo()
    # => The correction `a, *b, = foo()` is a syntax error
    
    # good if AllowNamedUnderscoreVariables is true
    a, b, _something = foo()

    Surrounding space missing for operator /.
    Open

      puts (-f/x + f).puts_ascii(3)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks that operators have space around them, except for ** which should not have surrounding space.

    Example:

    # bad
    total = 3*4
    "apple"+"juice"
    my_number = 38/4
    a ** b
    
    # good
    total = 3 * 4
    "apple" + "juice"
    my_number = 38 / 4
    a**b

    Use || instead of or.
    Open

          return (((@y.is_a? CAS::Variable) or (@y.is_a? CAS::Constant)) ? nil : :complex)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for uses of and and or, and suggests using && and || instead. It can be configured to check only in conditions, or in all contexts.

    Example: EnforcedStyle: always (default)

    # bad
    foo.save and return
    
    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    if foo && bar
    end

    Example: EnforcedStyle: conditionals

    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    foo.save and return
    
    # good
    if foo && bar
    end

    Do not use :: for method calls.
    Open

      f = CAS::exp(CAS::sin(x ** (2 ** x))) + CAS::cos(x)
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for methods invoked via the :: operator instead of the . operator (like FileUtils::rmdir instead of FileUtils.rmdir).

    Example:

    # bad
    Timeout::timeout(500) { do_something }
    FileUtils::rmdir(dir)
    Marshal::dump(obj)
    
    # good
    Timeout.timeout(500) { do_something }
    FileUtils.rmdir(dir)
    Marshal.dump(obj)

    Missing top-level class documentation comment.
    Open

      class Sqrt
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

    The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

    Example:

    # bad
    class Person
      # ...
    end
    
    # good
    # Description/Explanation of Person class
    class Person
      # ...
    end

    Redundant self detected.
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant uses of self.

    The usage of self is only needed when:

    • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

    • Calling an attribute writer to prevent an local variable assignment.

    Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

    Note we allow uses of self with operators because it would be awkward otherwise.

    Example:

    # bad
    def foo(bar)
      self.baz
    end
    
    # good
    def foo(bar)
      self.bar  # Resolves name clash with the argument.
    end
    
    def foo
      bar = 1
      self.bar  # Resolves name clash with the local variable.
    end
    
    def foo
      %w[x y z].select do |bar|
        self.bar == bar  # Resolves name clash with argument of the block.
      end
    end

    Redundant self detected.
    Open

          x_ascii = CAS::Ascii.normalize_ascii(x_ascii, (self.to_ascii_x_vars_complexity ? :complex : :simple))
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    This cop checks for redundant uses of self.

    The usage of self is only needed when:

    • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

    • Calling an attribute writer to prevent an local variable assignment.

    Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

    Note we allow uses of self with operators because it would be awkward otherwise.

    Example:

    # bad
    def foo(bar)
      self.baz
    end
    
    # good
    def foo(bar)
      self.bar  # Resolves name clash with the argument.
    end
    
    def foo
      bar = 1
      self.bar  # Resolves name clash with the local variable.
    end
    
    def foo
      %w[x y z].select do |bar|
        self.bar == bar  # Resolves name clash with argument of the block.
      end
    end

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          ret = ret.map { |l| (l == "" ? (" " * x_ascii[0].size) : l) }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          ret = Array.new (ul + ll), ""
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            ret[ul - y_ul + i] += (i == y_ul ? " − " : "   ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            line = "─" * x_ascii[0].size
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

          x_ascii.each  { |l| ret << l + (" " * y_ascii[0].size) }
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    Prefer single-quoted strings when you don't need string interpolation or special symbols.
    Open

            (i == x_baseline ? "cos" : "   ") + l
    Severity: Minor
    Found in bin/graph2ascii.rb by rubocop

    Checks if uses of quotes match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    "No special symbols"
    "No string interpolation"
    "Just text"
    
    # good
    'No special symbols'
    'No string interpolation'
    'Just text'
    "Wait! What's #{this}!"

    Example: EnforcedStyle: double_quotes

    # bad
    'Just some text'
    'No special chars or interpolation'
    
    # good
    "Just some text"
    "No special chars or interpolation"
    "Every string in #{project} uses double_quotes"

    There are no issues that match your filters.

    Category
    Status