class BaseCodeAI

BaseCodeAI class

Attributes

questions[R]

Public Class Methods

new(code) click to toggle source

Create CodeAI object from Code data @param code (Code)

# File lib/asker/ai/code/base_code_ai.rb, line 14
def initialize(code)
  @code = code
  @lines = code.lines
  @num = 0
  @questions = []
  make_questions
end

Public Instance Methods

clone_array(array) click to toggle source

Clone array @param array (Array) @return Array

# File lib/asker/ai/code/base_code_ai.rb, line 56
def clone_array(array)
  out = []
  array.each { |item| out << item.dup }
  out
end
filename() click to toggle source
# File lib/asker/ai/code/base_code_ai.rb, line 37
def filename
  @code.filename
end
lines() click to toggle source
# File lib/asker/ai/code/base_code_ai.rb, line 41
def lines
  @code.lines
end
lines_to_html(lines) click to toggle source

Convert an array of lines into one HTML String @param lines (Array) @return String

# File lib/asker/ai/code/base_code_ai.rb, line 79
def lines_to_html(lines)
  out = ''
  lines.each_with_index do |line, index|
    out << "%2d: #{line}</br>" % (index + 1)
  end
  out
end
lines_to_s(lines) click to toggle source

Convert an array of lines into one String @param lines (Array) @return String rubocop:disable Style/FormatString

# File lib/asker/ai/code/base_code_ai.rb, line 67
def lines_to_s(lines)
  out = ''
  lines.each_with_index do |line, index|
    out << "%2d: #{line}\n" % (index + 1)
  end
  out
end
make_questions() click to toggle source

Make questions

# File lib/asker/ai/code/base_code_ai.rb, line 90
def make_questions
  list = find_make_methods
  list.each { |m| @questions += send m }
  @questions
end
name() click to toggle source

Return the name of code @return String

# File lib/asker/ai/code/base_code_ai.rb, line 25
def name
  File.basename(@code.filename)
end
num() click to toggle source

Counter @return count

# File lib/asker/ai/code/base_code_ai.rb, line 48
def num
  @num += 1
end
process?() click to toggle source
# File lib/asker/ai/code/base_code_ai.rb, line 29
def process?
  @code.process?
end
type() click to toggle source
# File lib/asker/ai/code/base_code_ai.rb, line 33
def type
  @code.type
end

Private Instance Methods

find_make_methods() click to toggle source
# File lib/asker/ai/code/base_code_ai.rb, line 98
def find_make_methods
  list = public_methods.sort
  list.select! { |name| name.to_s.start_with? 'make_' }
  list.delete(:make_questions)
  list
end