asker-tool 2.4.2 → 2.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/asker/cli.rb +3 -3
- data/lib/asker/exporter/code_gift_exporter.rb +0 -1
- data/lib/asker/exporter/code_moodle_exporter.rb +15 -0
- data/lib/asker/exporter/concept_ai_moodle_exporter.rb +1 -29
- data/lib/asker/exporter/data_moodle_exporter.rb +32 -0
- data/lib/asker/exporter/output_file_exporter.rb +4 -6
- data/lib/asker/version.rb +1 -1
- data/lib/asker.rb +3 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8b065799af9c56fecd0ad4054746d486edef55660afb780bd183f6c1f7620a2c
|
4
|
+
data.tar.gz: 63252dea3460940024ea801e7c73a694584b586820b6203b40e382e6af860381
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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'] => '
|
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
|
33
|
-
Asker.
|
32
|
+
def create_input(dirname)
|
33
|
+
Asker.create_input(dirname)
|
34
34
|
exit 0
|
35
35
|
end
|
36
36
|
|
@@ -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
|
-
|
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
|
-
|
17
|
-
|
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
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.
|
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.
|
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
|