Class: BaseCodeAI
- Inherits:
-
Object
- Object
- BaseCodeAI
- Defined in:
- lib/asker/ai/code/base_code_ai.rb
Overview
BaseCodeAI class
Direct Known Subclasses
JavascriptCodeAI, ProblemCodeAI, PythonCodeAI, RubyCodeAI, SQLCodeAI
Instance Attribute Summary collapse
-
#questions ⇒ Object
readonly
Returns the value of attribute questions.
Instance Method Summary collapse
-
#clone_array(array) ⇒ Object
Clone array.
- #filename ⇒ Object
-
#initialize(code) ⇒ BaseCodeAI
constructor
Create CodeAI object from Code data.
- #lines ⇒ Object
-
#lines_to_html(lines) ⇒ Object
Convert an array of lines into one HTML String.
-
#lines_to_s(lines) ⇒ Object
Convert an array of lines into one String rubocop:disable Style/FormatString.
-
#make_questions ⇒ Object
Make questions.
-
#name ⇒ Object
Return the name of code.
-
#num ⇒ Object
Counter.
- #process? ⇒ Boolean
- #type ⇒ Object
Constructor Details
#initialize(code) ⇒ BaseCodeAI
Create CodeAI object from Code data
14 15 16 17 18 19 20 |
# 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 |
Instance Attribute Details
#questions ⇒ Object (readonly)
Returns the value of attribute questions.
9 10 11 |
# File 'lib/asker/ai/code/base_code_ai.rb', line 9 def questions @questions end |
Instance Method Details
#clone_array(array) ⇒ Object
Clone array
56 57 58 59 60 |
# 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 ⇒ Object
37 38 39 |
# File 'lib/asker/ai/code/base_code_ai.rb', line 37 def filename @code.filename end |
#lines ⇒ Object
41 42 43 |
# File 'lib/asker/ai/code/base_code_ai.rb', line 41 def lines @code.lines end |
#lines_to_html(lines) ⇒ Object
Convert an array of lines into one HTML String
79 80 81 82 83 84 85 |
# 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) ⇒ Object
Convert an array of lines into one String rubocop:disable Style/FormatString
67 68 69 70 71 72 73 |
# 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 ⇒ Object
Make questions
90 91 92 93 94 |
# 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 ⇒ Object
Return the name of code
25 26 27 |
# File 'lib/asker/ai/code/base_code_ai.rb', line 25 def name File.basename(@code.filename) end |
#num ⇒ Object
Counter
48 49 50 |
# File 'lib/asker/ai/code/base_code_ai.rb', line 48 def num @num += 1 end |
#process? ⇒ Boolean
29 30 31 |
# File 'lib/asker/ai/code/base_code_ai.rb', line 29 def process? @code.process? end |
#type ⇒ Object
33 34 35 |
# File 'lib/asker/ai/code/base_code_ai.rb', line 33 def type @code.type end |