asker-tool 2.4.2 → 2.4.3

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: 8b065799af9c56fecd0ad4054746d486edef55660afb780bd183f6c1f7620a2c
4
+ data.tar.gz: 63252dea3460940024ea801e7c73a694584b586820b6203b40e382e6af860381
5
5
  SHA512:
6
- metadata.gz: 4acbbfb6318306f2b2651435f8da5f0355ca84843a530bee1a3f14495392f2add6670fb6f4e026768cf4c2cfbc5d2e327ea67981129c97f6f114beda898b0955
7
- data.tar.gz: f8d240b4fead9a936b0c44a0ae7ffa8bed257e9e7d419786356fafc58d95164b2ca43cc5d43eb2576bdef1264d9e18106671bdf5651fcbf8d6d68170b67d12a0
6
+ metadata.gz: d580345e46c9fb771fce4ddf554dba2c07c16bb504993f1eb574e8e922ba8d8561defbcc2a8ea5befba84ff56831d00441c318526769591c8c1cb15af84378b2
7
+ data.tar.gz: 4e8badf15cbd35d7d9a6fd9587c65503a469967b11c794db6a87acbf0e06b35a1fc7afa1bec5cfede85c9955e408299b2f409a541a8e13d652c73e5084b2d6a1
data/lib/asker/cli.rb CHANGED
@@ -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.3'
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,7 +1,7 @@
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.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Vargas Ruiz
@@ -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