asker-tool 2.4.2 → 2.4.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b7f736e5274c55a3df6b996fa7b21e0d14aa2ff7cccd58c5010712a5e89315ac
4
- data.tar.gz: df2db7cde8ee7efb0950c88dadf15586b5b163c5aaa57dabf4533241f17306d3
3
+ metadata.gz: c936c3b95ba797cf9a1fd0652fa9b5d3154c11ebf1d1b62e3febf3a194581374
4
+ data.tar.gz: 5e642c8e1ce5e0f700190c9b9caca1bdb13952a44cfe1d02837cb50cae3a8c5e
5
5
  SHA512:
6
- metadata.gz: 4acbbfb6318306f2b2651435f8da5f0355ca84843a530bee1a3f14495392f2add6670fb6f4e026768cf4c2cfbc5d2e327ea67981129c97f6f114beda898b0955
7
- data.tar.gz: f8d240b4fead9a936b0c44a0ae7ffa8bed257e9e7d419786356fafc58d95164b2ca43cc5d43eb2576bdef1264d9e18106671bdf5651fcbf8d6d68170b67d12a0
6
+ metadata.gz: b3433f6b80c5e89417580637175c9e11de2cfae9960b52d347deb39881e52dac34df53a53225cfc4f9766bc2b24a2717927e5ec139e0811557db1126062f96e3
7
+ data.tar.gz: 97ebd51f2c232487dd51b39bb9083d23d9dba25e1c29da54c3817d4d7d04a15e2c4b99bd6ac03e1423945595f3b448b7603a9cbeef505e8f7b1c6e02e03b31ed
@@ -56,7 +56,8 @@ class StageF < BaseStage
56
56
  q.matching << [(index + 1).to_s, filtered[:words][value][:word].downcase]
57
57
  end
58
58
  q.matching << ['', lang.do_mistake_to(filtered[:words][rand(filtered[:words].size)][:word].downcase)]
59
- questions << q
59
+ # questions << q
60
+ # TODO: Revise this type of questions
60
61
  end
61
62
  end
62
63
  else
data/lib/asker/cli.rb CHANGED
@@ -8,9 +8,9 @@ require_relative '../asker'
8
8
  ##
9
9
  # Command Line User Interface
10
10
  class CLI < Thor
11
- map ['--help'] => 'help'
11
+ map ['-h', '--help'] => 'help'
12
12
 
13
- map ['--version'] => 'version'
13
+ map ['-v', '--version'] => 'version'
14
14
  desc 'version', 'Show the program version'
15
15
  def version
16
16
  puts "#{Asker::NAME} version #{Asker::VERSION}"
@@ -24,13 +24,13 @@ class CLI < Thor
24
24
  exit 0
25
25
  end
26
26
 
27
- map ['new','--new'] => 'new_input'
27
+ map ['new','--new'] => 'create_input'
28
28
  desc 'new DIRPATH', 'Create Asker demo input files'
29
29
  ##
30
30
  # Create Asker demo input files
31
31
  # @param dirname (String) Path to folder
32
- def new_input(dirname)
33
- Asker.new_input(dirname)
32
+ def create_input(dirname)
33
+ Asker.create_input(dirname)
34
34
  exit 0
35
35
  end
36
36
 
@@ -1,4 +1,3 @@
1
- # frozen_string_literal: true
2
1
 
3
2
  require_relative '../formatter/question_gift_formatter'
4
3
 
@@ -0,0 +1,15 @@
1
+
2
+ require_relative '../formatter/question_moodle_formatter'
3
+
4
+ module CodeMoodleExporter
5
+
6
+ def self.run(code, file)
7
+ return false unless code.process?
8
+
9
+ code.questions.each do |question|
10
+ file.write QuestionMoodleFormatter.to_s(question)
11
+ end
12
+ true
13
+ end
14
+
15
+ end
@@ -1,37 +1,9 @@
1
- # frozen_string_literal: true
2
1
 
3
2
  require_relative '../formatter/question_moodle_formatter'
4
- require_relative '../version'
5
3
 
6
- # Export ConceptIA data to gift to moodlefile
7
4
  module ConceptAIMoodleExporter
8
- ##
9
- # Export an array of ConceptAI objects from Project into Moodle format file
10
- # @param concepts_ai (Array)
11
- # @param project (Project)
12
- def self.export_all(concepts_ai, project)
13
- file = File.open(project.get(:moodlepath), 'w')
14
- file.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
15
- file.write("<quiz>\n")
16
- file.write("<!--\n#{('=' * 50)}\n")
17
- file.write(" Created by : #{Asker::NAME}")
18
- file.write(" (version #{Asker::VERSION})\n")
19
- file.write(" File : #{project.get(:moodlename)}\n")
20
- file.write(" Time : #{Time.new}\n")
21
- file.write(" Author : David Vargas Ruiz\n")
22
- file.write("#{('=' * 50)}\n-->\n\n")
23
5
 
24
- concepts_ai.each { |concept_ai| export(concept_ai, file) }
25
-
26
- file.write("</quiz>\n")
27
- file.close
28
- end
29
-
30
- ##
31
- # Export 1 concept_ai from project
32
- # @param concept_ai (ConceptAI)
33
- # @param file (File)
34
- private_class_method def self.export(concept_ai, file)
6
+ def self.run(concept_ai, file)
35
7
  return unless concept_ai.concept.process?
36
8
 
37
9
  Application.instance.config['questions']['stages'].each do |stage|
@@ -0,0 +1,32 @@
1
+
2
+ require_relative '../version'
3
+ require_relative 'concept_ai_moodle_exporter'
4
+ require_relative 'code_moodle_exporter'
5
+
6
+ # Export data to MoodleXML file
7
+ module DataMoodleExporter
8
+
9
+ def self.export_all(data, project)
10
+ file = File.open(project.get(:moodlepath), 'w')
11
+ file.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
12
+ file.write("<quiz>\n")
13
+ file.write("<!--\n#{('=' * 50)}\n")
14
+ file.write(" Created by : #{Asker::NAME}")
15
+ file.write(" (version #{Asker::VERSION})\n")
16
+ file.write(" File : #{project.get(:moodlename)}\n")
17
+ file.write(" Time : #{Time.new}\n")
18
+ file.write(" Author : David Vargas Ruiz\n")
19
+ file.write("#{('=' * 50)}\n-->\n\n")
20
+
21
+ data[:concepts_ai].each do |concept_ai|
22
+ ConceptAIMoodleExporter.run(concept_ai, file)
23
+ end
24
+
25
+ data[:codes_ai].each do |code|
26
+ CodeMoodleExporter.run(code, file)
27
+ end
28
+
29
+ file.write("</quiz>\n")
30
+ file.close
31
+ end
32
+ end
@@ -1,21 +1,19 @@
1
- require_relative 'concept_ai_moodle_exporter'
2
1
  require_relative 'concept_ai_yaml_exporter'
3
2
  require_relative 'concept_doc_exporter'
4
3
  require_relative 'data_gift_exporter'
4
+ require_relative 'data_moodle_exporter'
5
5
 
6
6
  # Export Output data:
7
7
  # * Gift (ConceptAI, Code)
8
8
  # * YAML
9
9
  # * Doc (txt)
10
+ # * Moodle XML (ConceptAI, Code)
10
11
  module OutputFileExporter
11
12
  def self.export(data, project)
12
13
  config = Application.instance.config
13
- DataGiftExporter.export_all(data, project) if config['output']['gift'] == 'yes'
14
14
  ConceptAIYAMLExporter.export_all(data[:concepts_ai], project) if config['output']['yaml'] == 'yes'
15
15
  ConceptDocExporter.export_all(data[:concepts], project) if config['output']['doc'] == 'yes'
16
- # ConceptAIGiftExporter.export_all(data[:concepts_ai], project) if config['output']['gift'] == 'yes'
17
- # CodeGiftExporter.export_all(data[:codes_ai], project.get(:outputfile)) if config['output']['gift'] == 'yes'
18
- # UNDER DEVELOPMENT
19
- ConceptAIMoodleExporter.export_all(data[:concepts_ai], project) if config['output']['moodle'] == 'yes'
16
+ DataGiftExporter.export_all(data, project) if config['output']['gift'] == 'yes'
17
+ DataMoodleExporter.export_all(data, project) if config['output']['moodle'] == 'yes'
20
18
  end
21
19
  end
data/lib/asker/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  class Asker
3
- VERSION = '2.4.2'
3
+ VERSION = '2.4.5'
4
4
  NAME = 'asker'
5
5
  GEM = 'asker-tool'
6
6
  CONFIGFILE = 'asker.ini'
data/lib/asker.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'rainbow'
4
+ require 'colorize'
4
5
 
5
6
  require_relative 'asker/skeleton'
6
7
  require_relative 'asker/check_input'
@@ -13,11 +14,12 @@ require_relative 'asker/logger'
13
14
  require_relative 'asker/loader/project_loader'
14
15
  require_relative 'asker/loader/input_loader'
15
16
  class Asker
17
+
16
18
  def self.init
17
19
  Skeleton.create_configuration
18
20
  end
19
21
 
20
- def self.new_input(dirpath)
22
+ def self.create_input(dirpath)
21
23
  Skeleton.create_input(dirpath)
22
24
  end
23
25
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asker-tool
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.2
4
+ version: 2.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Vargas Ruiz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-11 00:00:00.000000000 Z
11
+ date: 2022-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: haml
@@ -161,11 +161,13 @@ files:
161
161
  - lib/asker/displayer/concept_displayer.rb
162
162
  - lib/asker/displayer/stats_displayer.rb
163
163
  - lib/asker/exporter/code_gift_exporter.rb
164
+ - lib/asker/exporter/code_moodle_exporter.rb
164
165
  - lib/asker/exporter/concept_ai_gift_exporter.rb
165
166
  - lib/asker/exporter/concept_ai_moodle_exporter.rb
166
167
  - lib/asker/exporter/concept_ai_yaml_exporter.rb
167
168
  - lib/asker/exporter/concept_doc_exporter.rb
168
169
  - lib/asker/exporter/data_gift_exporter.rb
170
+ - lib/asker/exporter/data_moodle_exporter.rb
169
171
  - lib/asker/exporter/output_file_exporter.rb
170
172
  - lib/asker/files/asker.ini
171
173
  - lib/asker/files/example-code.haml