asker-tool 2.4.1 → 2.4.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ac1fb3da092335cdb8fe69f179547de5ec2f17b7b4fecd0537e1ec13976f7c51
4
- data.tar.gz: 41613de8a7474c877e9b36c631e16a4ecd1fa83e285cad1820f7f2ca76ef639a
3
+ metadata.gz: 5a251980040c2930d63f46a60068b568dedc1fe6b92a52c5b2f2a25747f6582a
4
+ data.tar.gz: 269a144da1335d18de949637573ea10dc87e891bbebae3832543b83e9f4b5cd2
5
5
  SHA512:
6
- metadata.gz: 807ca9e728b41f823e64d0c65ea64c8c4aca25a9bae2fc41ed64be5bbb6de0e0cf67989f8f3b0852db7eb8de767266afad27ee9feaab494243bcb58985502aad
7
- data.tar.gz: ef63e746954850b2eb64214753801e4736f6438c89f5a3eae3a0761ab828d9d4b303d022923011dbb21e718ec0df86c9b6e579e626090de6197f73e8f26f12e9
6
+ metadata.gz: 0e00ad7fd88cbe93f092e134ded7228f372f8414a1367f79a4e613f92106d236a7cd17931a5d78fc2b2248839b2a63fb698b24d2c367a6c4687f7fe2ee3ae91d
7
+ data.tar.gz: d45001db6883379e4c974523fa5a8071c2b6096255536236154d3873409db28855fc3dfa481b3ee2d711730a0359f5ecffda196b0c6a56c6d911ceca51f54ac0
@@ -16,10 +16,10 @@ class Application
16
16
 
17
17
  def reset
18
18
  filename = File.join(Dir.pwd,
19
- Version::CONFIGFILE)
19
+ Asker::CONFIGFILE)
20
20
  filename = File.join(File.dirname(__FILE__),
21
21
  'files',
22
- Version::CONFIGFILE) unless File.exist? filename
22
+ Asker::CONFIGFILE) unless File.exist? filename
23
23
 
24
24
  begin
25
25
  @config = IniFile.load(filename)
data/lib/asker/cli.rb CHANGED
@@ -8,12 +8,12 @@ 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
- puts "#{Version::NAME} version #{Version::VERSION}"
16
+ puts "#{Asker::NAME} version #{Asker::VERSION}"
17
17
  exit 0
18
18
  end
19
19
 
@@ -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 : #{Version::NAME}")
18
- file.write(" (version #{Version::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|
@@ -11,7 +11,7 @@ module ConceptDocExporter
11
11
  def self.export_all(concepts, project)
12
12
  file = File.new(project.get(:lessonpath), 'w')
13
13
  file.write('=' * 50 + "\n")
14
- file.write("Created by : #{Version::NAME} (version #{Version::VERSION})\n")
14
+ file.write("Created by : #{Asker::NAME} (version #{Asker::VERSION})\n")
15
15
  file.write("File : #{project.get(:lessonname)}\n")
16
16
  file.write("Time : #{Time.new}\n")
17
17
  file.write("Author : David Vargas Ruiz\n")
@@ -14,8 +14,8 @@ module DataGiftExporter
14
14
  def self.export_all(data, project)
15
15
  file = File.open(project.get(:outputpath), 'w')
16
16
  file.write('// ' + ('=' * 50) + "\n")
17
- file.write("// Created by : #{Version::NAME}")
18
- file.write(" (version #{Version::VERSION})\n")
17
+ file.write("// Created by : #{Asker::NAME}")
18
+ file.write(" (version #{Asker::VERSION})\n")
19
19
  file.write("// File : #{project.get(:outputname)}\n")
20
20
  file.write("// Time : #{Time.new}\n")
21
21
  file.write("// Author : David Vargas Ruiz\n")
@@ -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/logger.rb CHANGED
@@ -33,8 +33,8 @@ class Logger
33
33
  def self.create(logpath, logname)
34
34
  @logfile = File.open(logpath, 'w')
35
35
  @logfile.write('=' * 50 + "\n")
36
- @logfile.write("Created by : #{Version::NAME}")
37
- @logfile.write(" (version #{Version::VERSION})\n")
36
+ @logfile.write("Created by : #{Asker::NAME}")
37
+ @logfile.write(" (version #{Asker::VERSION})\n")
38
38
  @logfile.write("File : #{logname}\n")
39
39
  @logfile.write("Time : #{Time.new}\n")
40
40
  @logfile.write("Author : David Vargas Ruiz\n")
@@ -34,8 +34,8 @@ module Skeleton
34
34
  # Create default configuration files
35
35
  def self.create_configuration
36
36
  puts "\n[INFO] Creating configuration files"
37
- src = File.join(File.dirname(__FILE__), 'files', Version::CONFIGFILE)
38
- dst = File.join(Version::CONFIGFILE)
37
+ src = File.join(File.dirname(__FILE__), 'files', Asker::CONFIGFILE)
38
+ dst = File.join(Asker::CONFIGFILE)
39
39
  copyfile(src, dst)
40
40
  end
41
41
 
data/lib/asker/version.rb CHANGED
@@ -1,7 +1,6 @@
1
1
 
2
- module Version
3
- MAJOR_NUMBER = '2.4'
4
- VERSION = "#{MAJOR_NUMBER}.1"
2
+ class Asker
3
+ VERSION = '2.4.4'
5
4
  NAME = 'asker'
6
5
  GEM = 'asker-tool'
7
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.1
4
+ version: 2.4.4
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-08 00:00:00.000000000 Z
11
+ date: 2022-05-15 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