asker-tool 2.1.5 → 2.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/{LICENSE → LICENSE.txt} +0 -0
  3. data/README.md +2 -3
  4. data/bin/asker +1 -0
  5. data/lib/asker.rb +10 -6
  6. data/lib/asker/ai/ai.rb +4 -0
  7. data/lib/asker/ai/code/base_code_ai.rb +104 -0
  8. data/lib/asker/{code/ai → ai/code}/code_ai_factory.rb +11 -1
  9. data/lib/asker/{code/ai → ai/code}/javascript_code_ai.rb +2 -5
  10. data/lib/asker/ai/code/problem_code_ai.rb +176 -0
  11. data/lib/asker/{code/ai → ai/code}/python_code_ai.rb +2 -5
  12. data/lib/asker/{code/ai → ai/code}/ruby_code_ai.rb +14 -7
  13. data/lib/asker/{code/ai → ai/code}/sql_code_ai.rb +2 -5
  14. data/lib/asker/ai/concept_ai.rb +1 -0
  15. data/lib/asker/ai/stages/stage_t.rb +76 -76
  16. data/lib/asker/application.rb +18 -2
  17. data/lib/asker/checker.rb +112 -30
  18. data/lib/asker/cli.rb +12 -25
  19. data/lib/asker/data/code.rb +73 -0
  20. data/lib/asker/data/column.rb +31 -21
  21. data/lib/asker/data/concept.rb +42 -45
  22. data/lib/asker/data/data_field.rb +14 -0
  23. data/lib/asker/data/row.rb +75 -52
  24. data/lib/asker/data/table.rb +89 -42
  25. data/lib/asker/data/world.rb +57 -33
  26. data/lib/asker/displayer/concept_ai_displayer.rb +56 -37
  27. data/lib/asker/displayer/concept_displayer.rb +7 -5
  28. data/lib/asker/displayer/stats_displayer.rb +4 -3
  29. data/lib/asker/exporter/concept_ai_gift_exporter.rb +5 -3
  30. data/lib/asker/exporter/concept_ai_yaml_exporter.rb +7 -3
  31. data/lib/asker/exporter/output_file_exporter.rb +1 -1
  32. data/lib/asker/files/config.ini +37 -0
  33. data/lib/asker/files/example-concept.haml +0 -1
  34. data/lib/asker/{lang/locales → files/language}/du/templates.yaml +0 -0
  35. data/lib/asker/{lang/locales → files/language}/en/connectors.yaml +0 -0
  36. data/lib/asker/{lang/locales → files/language}/en/mistakes.yaml +0 -0
  37. data/lib/asker/{lang/locales → files/language}/en/templates.yaml +0 -0
  38. data/lib/asker/{lang/locales → files/language}/es/connectors.yaml +0 -0
  39. data/lib/asker/{lang/locales → files/language}/es/mistakes.yaml +0 -0
  40. data/lib/asker/{lang/locales → files/language}/es/templates.yaml +0 -0
  41. data/lib/asker/{lang/locales → files/language}/fr/connectors.yaml +0 -0
  42. data/lib/asker/{lang/locales → files/language}/fr/mistakes.yaml +0 -0
  43. data/lib/asker/{lang/locales → files/language}/fr/templates.yaml +0 -0
  44. data/lib/asker/{lang/locales → files/language}/javascript/connectors.yaml +0 -0
  45. data/lib/asker/{lang/locales → files/language}/javascript/mistakes.yaml +0 -0
  46. data/lib/asker/{lang/locales → files/language}/javascript/templates.yaml +0 -0
  47. data/lib/asker/{lang/locales → files/language}/math/connectors.yaml +0 -0
  48. data/lib/asker/{lang/locales → files/language}/math/mistakes.yaml +0 -0
  49. data/lib/asker/{lang/locales → files/language}/math/templates.yaml +0 -0
  50. data/lib/asker/{lang/locales → files/language}/python/connectors.yaml +0 -0
  51. data/lib/asker/{lang/locales → files/language}/python/mistakes.yaml +0 -0
  52. data/lib/asker/{lang/locales → files/language}/python/templates.yaml +0 -0
  53. data/lib/asker/{lang/locales → files/language}/ruby/connectors.yaml +0 -0
  54. data/lib/asker/{lang/locales → files/language}/ruby/mistakes.yaml +0 -0
  55. data/lib/asker/{lang/locales → files/language}/ruby/templates.yaml +0 -0
  56. data/lib/asker/{lang/locales → files/language}/sql/connectors.yaml +0 -0
  57. data/lib/asker/{lang/locales → files/language}/sql/mistakes.yaml +0 -0
  58. data/lib/asker/{lang/locales → files/language}/sql/templates.yaml +0 -0
  59. data/lib/asker/lang/lang.rb +17 -10
  60. data/lib/asker/lang/lang_factory.rb +26 -5
  61. data/lib/asker/lang/text_actions.rb +87 -69
  62. data/lib/asker/loader/code_loader.rb +3 -3
  63. data/lib/asker/loader/content_loader.rb +9 -5
  64. data/lib/asker/loader/file_loader.rb +2 -11
  65. data/lib/asker/loader/haml_loader.rb +15 -0
  66. data/lib/asker/loader/image_url_loader.rb +5 -8
  67. data/lib/asker/loader/input_loader.rb +8 -9
  68. data/lib/asker/loader/project_loader.rb +10 -8
  69. data/lib/asker/logger.rb +3 -3
  70. data/lib/asker/project.rb +24 -50
  71. data/lib/asker/skeleton.rb +22 -13
  72. metadata +39 -37
  73. data/lib/asker/code/ai/base_code_ai.rb +0 -48
  74. data/lib/asker/code/code.rb +0 -53
@@ -1,48 +0,0 @@
1
-
2
- require_relative '../../lang/lang_factory'
3
- require_relative '../../ai/question'
4
-
5
- class BaseCodeAI
6
- def name
7
- File.basename(@data_object.filename)
8
- end
9
-
10
- def num
11
- @num += 1
12
- end
13
-
14
- def clone_array(array)
15
- out = []
16
- array.each { |item| out << item.dup }
17
- out
18
- end
19
-
20
- def lines_to_s(lines)
21
- out = ''
22
- lines.each_with_index do |line,index|
23
- out << "%2d: #{line}\n"%(index+1)
24
- end
25
- out
26
- end
27
-
28
- def lines_to_html(lines)
29
- out = ''
30
- lines.each_with_index do |line,index|
31
- out << "%2d: #{line}</br>"%(index+1)
32
- end
33
- out
34
- end
35
-
36
- def find_make_methods
37
- list = self.public_methods.sort
38
- list.select! { |name| name.to_s.start_with? 'make_'}
39
- list.delete(:make_questions)
40
- list
41
- end
42
-
43
- def make_questions
44
- list = find_make_methods
45
- list.each { |m| @questions += self.send m }
46
- @questions
47
- end
48
- end
@@ -1,53 +0,0 @@
1
- require_relative 'ai/code_ai_factory'
2
- require_relative '../project'
3
- require_relative '../formatter/code_string_formatter'
4
-
5
- # Contains code data input
6
- class Code
7
- attr_reader :dirname, :filename, :type
8
- attr_accessor :process, :features
9
- attr_reader :lines, :questions
10
-
11
- def initialize(dirname, filename, type)
12
- @dirname = dirname
13
- @filename = filename
14
- @type = type
15
- @filepath = File.join(@dirname, @filename)
16
- @process = false
17
- @features = []
18
- @lines = load(@filepath)
19
- @questions = []
20
- @code_ai = CodeAIFactory.get(self)
21
- end
22
-
23
- def process?
24
- @process
25
- end
26
-
27
- def make_questions
28
- return unless process?
29
- @questions += @code_ai.make_questions
30
- end
31
-
32
- def lines_to_s(lines)
33
- out = ''
34
- lines.each_with_index do |line, index|
35
- out << format("%2d| #{line}\n", (index + 1))
36
- end
37
- out
38
- end
39
-
40
- def debug
41
- out = CodeStringFormatter.to_s(self)
42
- p = Project.instance
43
- p.verbose out
44
- end
45
-
46
- private
47
-
48
- def load(filepath)
49
- return if filepath.nil?
50
- content = File.read(filepath)
51
- content.split("\n")
52
- end
53
- end