asker-tool 2.3.4 → 2.4.2

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: c928893a28d5c554456f150464435ee52fbef9cb7fd833684725ec8125eefae9
4
- data.tar.gz: b3e48175853068804767ad312df8c795404dc8161e36bd9856581e912c9b9c2f
3
+ metadata.gz: b7f736e5274c55a3df6b996fa7b21e0d14aa2ff7cccd58c5010712a5e89315ac
4
+ data.tar.gz: df2db7cde8ee7efb0950c88dadf15586b5b163c5aaa57dabf4533241f17306d3
5
5
  SHA512:
6
- metadata.gz: 4e30502bd72cd2a104655edce3d5263f1a1a710b859b3c3bde867bab9e48fac78f6ca8958798d9f05f22ddfacccf4700a22e1616953179c309a887c974efec10
7
- data.tar.gz: 20264b770646e08cea9debdef442ec81cacdad4ff64b25725c3129234747f9dc58a30fcb8f5c17a38f207e003f0e61a9fae6eac33421f086871f1477f1ccc68d
6
+ metadata.gz: 4acbbfb6318306f2b2651435f8da5f0355ca84843a530bee1a3f14495392f2add6670fb6f4e026768cf4c2cfbc5d2e327ea67981129c97f6f114beda898b0955
7
+ data.tar.gz: f8d240b4fead9a936b0c44a0ae7ffa8bed257e9e7d419786356fafc58d95164b2ca43cc5d43eb2576bdef1264d9e18106671bdf5651fcbf8d6d68170b67d12a0
@@ -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
@@ -13,7 +13,7 @@ class CLI < Thor
13
13
  map ['--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
 
@@ -14,8 +14,8 @@ module ConceptAIMoodleExporter
14
14
  file.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
15
15
  file.write("<quiz>\n")
16
16
  file.write("<!--\n#{('=' * 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(:moodlename)}\n")
20
20
  file.write(" Time : #{Time.new}\n")
21
21
  file.write(" Author : David Vargas Ruiz\n")
@@ -31,7 +31,6 @@ module ConceptAIMoodleExporter
31
31
  # Export 1 concept_ai from project
32
32
  # @param concept_ai (ConceptAI)
33
33
  # @param file (File)
34
- # rubocop:disable Metrics/AbcSize
35
34
  private_class_method def self.export(concept_ai, file)
36
35
  return unless concept_ai.concept.process?
37
36
 
@@ -41,5 +40,4 @@ module ConceptAIMoodleExporter
41
40
  end
42
41
  end
43
42
  end
44
- # rubocop:enable Metrics/AbcSize
45
43
  end
@@ -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")
@@ -28,10 +28,11 @@ default = en
28
28
 
29
29
  ; List of code languages to be loaded
30
30
  ; Accept yes|no
31
+ ca = yes
32
+ du = yes
31
33
  en = yes
32
34
  es = yes
33
35
  fr = yes
34
- du = yes
35
36
  javascript = yes
36
37
  math = no
37
38
  python = yes
@@ -48,12 +49,12 @@ formula_weights = 1, 1, 1
48
49
  ; Default values
49
50
  ; fractions = 0 to disable
50
51
  ; Only used for multichoice questions
51
- fractions = 0, -50, -33.33, -25, -20
52
+ fractions = ",-50,-33.33333,-25,-20,-16.66667,-14.28571,-12.5,-11.11111,-10"
52
53
 
53
54
  ; List of values d,b,f,i,s,t
54
55
  stages = d,b,f,i,s,t
55
56
 
56
- ; Questions category
57
+ ; Questions category. Default value: (empty)
57
58
  category =
58
59
 
59
60
  ; Exclude questions with this texts into their names.
@@ -0,0 +1,103 @@
1
+ ---
2
+ - '[*]'
3
+ - a
4
+ - al
5
+ - a
6
+ - "l'"
7
+ - davant
8
+ - de
9
+ - sota
10
+ - cada
11
+ - com
12
+ - com
13
+ - amb
14
+ - contra
15
+ - quan
16
+ - quant
17
+ - quin
18
+ - quina
19
+ - de
20
+ - des
21
+ - i
22
+ - a
23
+ - entre
24
+ - ell
25
+ - el
26
+ - ella
27
+ - ells
28
+ - es
29
+ - és
30
+ - aquest
31
+ - aquesta
32
+ - això
33
+ - aquests
34
+ - aquestes
35
+ - aquest
36
+ - això
37
+ - aquesta
38
+ - aquests
39
+ - aquestes
40
+ - cap
41
+ - fins
42
+ - la
43
+ - les
44
+ - ho
45
+ - els
46
+ - li
47
+ - els
48
+ - mes
49
+ - més
50
+ - mi
51
+ - em
52
+ - molt
53
+ - molts
54
+ - molt
55
+ - no
56
+ - ens
57
+ - nosaltres
58
+ - o
59
+ - per
60
+ - però
61
+ - per
62
+ - perquè
63
+ - perqué
64
+ - que
65
+ - qué
66
+ - qui
67
+ - si
68
+ - sense
69
+ - sobre
70
+ - tota
71
+ - totes
72
+ - tot
73
+ - tots
74
+ - darrera
75
+ - darrere
76
+ - tu
77
+ - tú
78
+ - es
79
+ - seyu
80
+ - les
81
+ - seves
82
+ - seus
83
+ - seu
84
+ - seva
85
+ - seus
86
+ - seves
87
+ - meu
88
+ - meva
89
+ - meus
90
+ - meves
91
+ - o
92
+ - un
93
+ - un
94
+ - uns
95
+ - una
96
+ - unes
97
+ - vosaltres
98
+ - vostre
99
+ - vostres
100
+ - nostre
101
+ - nostres
102
+ - i
103
+ - jo
@@ -0,0 +1,98 @@
1
+ ---
2
+ :a: 'à,á,e,o,ha'
3
+ :"a ": 'as '
4
+ :"as ": 'a ,os '
5
+ :á: 'a,à,é,há'
6
+ :à: 'a,á,e,ha'
7
+ :al: 'ar,la,el'
8
+ :ar: 'al'
9
+ :b: 'v'
10
+ :c: 's,k,ç'
11
+ :ca: 'ka,ça,ssa'
12
+ :ce: 'se,que,sse'
13
+ :ci: 'si,qui,ssi'
14
+ :co: 'ko,ço'
15
+ :cu: 'ku,qu,çu'
16
+ :ç: 'z,ss,s'
17
+ :e: 'é,è'
18
+ :" e": 'he'
19
+ :é: 'e,è'
20
+ :è: 'e,é'
21
+ :" é": 'hé'
22
+ :"el ": 'er ,ell '
23
+ :"er ": 'el '
24
+ :g: 'j'
25
+ :h: ' '
26
+ :ha: 'a'
27
+ :he: 'e'
28
+ :hi: 'i'
29
+ :ho: 'o'
30
+ :hu: 'u'
31
+ :i: 'í,ì'
32
+ :í: 'i,ì'
33
+ :ì: 'i,í'
34
+ :j: 'g'
35
+ :k: 'q,c'
36
+ :l: 'r'
37
+ :lla: 'ya'
38
+ :lle: 'ye'
39
+ :lli: 'yi'
40
+ :llo: 'yo'
41
+ :llu: 'yu'
42
+ :n: 'm,ny'
43
+ :ny: 'n'
44
+ :m: 'n'
45
+ :mb: 'nb'
46
+ :nb: 'mb'
47
+ :mp: 'np'
48
+ :np: 'mp'
49
+ :o: 'ó,e,ò'
50
+ :"o ": 'os '
51
+ :ó: 'o,ò'
52
+ :ò: 'o,ó'
53
+ :ol: 'or'
54
+ :or: 'ol'
55
+ :os : 'o ,ó ,as '
56
+ :oha: 'oa'
57
+ :p: 'q,o'
58
+ :que: 'ke,què, '
59
+ :qui: 'ki'
60
+ :s: 'z,a,ss,ç'
61
+ :sa: 'za,ssa'
62
+ :se: 'ce,ze,sse'
63
+ :si: 'ci,zi,ssi'
64
+ :so: 'zo,sso'
65
+ :su: 'zu,ssu'
66
+ :st: 'ts'
67
+ :ss: 'z,s,ç'
68
+ :t: 'f,p'
69
+ :u: 'ú,ù'
70
+ :ú: 'u,ù'
71
+ :ù: 'u,ú'
72
+ :ul: 'ur'
73
+ :ur: 'ul'
74
+ :v: 'b,w'
75
+ :w: 'v, gu'
76
+ :wa: 'gua'
77
+ :we: 'gue'
78
+ :wi: 'gui'
79
+ :wo: 'guo'
80
+ :x: 'ks,k,s'
81
+ :y: 'i,v'
82
+ :" y ": ' i '
83
+ :ya: 'lla'
84
+ :ye: 'lle'
85
+ :yi: 'lli'
86
+ :yo: 'llo'
87
+ :yu: 'llu'
88
+ :lla: 'l·la'
89
+ :lle: 'l·le'
90
+ :lli: 'l·li'
91
+ :llo: 'l·lo'
92
+ :llu: 'l·lu'
93
+ :z: 's,ss,ç'
94
+ :za: 'sa,ssa'
95
+ :ze: 'se,sse'
96
+ :zi: 'si,ssi'
97
+ :zo: 'so,sso'
98
+ :zu: 'su,ssu'
@@ -0,0 +1,29 @@
1
+ ---
2
+ :none: 'Ninguna és correcta'
3
+ :error: 'Error'
4
+ :misspelling: 'Error ortográfic'
5
+ :true: 'Cert'
6
+ :false: 'Fals'
7
+ :d1: 'Definició: <i><%=text1%></i><br/>Elige la opción que mejor se corresponda con la definición anterior.<br/>'
8
+ :d2: 'Definició de <b><%=text1%></b>:<br/> <i><%=text2%></i><br/>'
9
+ :d3: 'Definició de <b><%=text1%></b>:<br/> <i><%=text2%></i><br/></br><p>Nota: Cada símbol ? representa una lletra, i * a una o diverses paraules.</p>'
10
+ :d4: 'Definició de <b><%=text1%></b>:<br/> <i><%=text2%></i><br/><br/>(Coloca cada paula a la seva posició correcta dins el text)'
11
+ :b1: 'En relació al concepte <b><%=text1%></b>, asocia cada "<%=text2%>" amb el seu "<%=text3%>".<br/>'
12
+ :f1: 'Els seguents elements son "<%=text2%>" del concepte <b><%=text1%></b>:<ul><li><%=text3%></li></ul>'
13
+ :f2: "Els seguents elements son \"<%=text2%>\".<br/>Selecciona l'opció que no pertanyi al concepte <b><%=text1%></b>."
14
+ :f3: 'Els seguents elements son "<%=text2%>" del concepte <b><%=text1%></b>:<br><p><%=text3%></p>(Coloca cada paraula a la seva posició correcta dins el text)'
15
+ :i1: "<%=text1%><br/>Escull l'opció que millor es correspongui amb la imatge anterior.<br/>"
16
+ :i2: '<%=text1%><br/>La imatge/text anterior correspo a <b><%=text2%></b>.'
17
+ :i3: "<%=text1%><br/>Escriu l'opció <%=text2%>, que millor correspongui amb la imatge anterior.<br/>"
18
+ :i4: '<%=text1%><br/>Definició: <i><%=text2%></i><br/><br/>(Coloca cada palabra en su posición correcta dentro del texto)'
19
+ :s1: 'En relació al concepte <b><%=text1%></b>, ordena cada/les/els "<%=text2%>" per tal que es compleixi el criteri "<%=text3%>".<br/>'
20
+ :t1table: "Concepte <b><%=text1%></b><br/><%=text2%>: [*]<br/><%=text3%>: \"<%=text4%>\"<br/>Escull l'opció correcta.<br/>"
21
+ :t2table: "Concepte <b><%=text1%></b><br/><%=text2%>: [*]<br/><%=text3%>: \"<%=text4%>\"<br/>Escull l'opció correcta.<br/>"
22
+ :t3table: "Concepte <b><%=text1%></b><br/><%=text2%>: \"<%=text3%>\"<br/><%=text4%>: [*]<br/>Escull l'opció correcta.<br/>"
23
+ :t4table: "Concepte <b><%=text1%></b><br/><%=text2%>: \"<%=text3%>\"<br/><%=text4%>: [*]<br/>Escull l'opció correcta.<br/>"
24
+ :t5table: "Concepte <b><%=text1%></b><br/>L'associació següent és correcta:<br/><ul><li><%=text2%>: \"<%=text3%>\"</li><li><%=text4%>: \"<%=text5%>\"</li></ul>"
25
+ :t6table: "Concepte <b><%=text1%></b><br/>L'associació següent és correcta:<br/><ul><li><%=text2%>: \"<%=text3%>\"</li><li><%=text4%>: \"<%=text5%>\"</li></ul>"
26
+ :t7table: "Concepte <b><%=text1%></b><br/>L'associació següent és correcta:<br/><ul><li><%=text2%>: \"<%=text3%>\"</li><li><%=text4%>: \"<%=text5%>\"</li></ul>"
27
+ :t8table: 'Concepte <b><%=text1%></b><br/>Completa la següent associació:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: [*]</li></ul>Escriu una paraula.<br/>'
28
+ :t9table: 'Concepte <b><%=text1%></b><br/>Completa la següent associació:<br/><ul><li><%=text2%>: "<%=text3%>"</li><li><%=text4%>: <%=text5%></li></ul>Escriu <%=text6%> paraules.<br/>'
29
+ :code1: '<pre><%=text1%></pre><br/><p>Escriu el número de línia hi ha el primer error. Escriu 0 si no hi ha cap error.</p>'
@@ -4,7 +4,7 @@ require 'erb'
4
4
  require_relative '../application'
5
5
 
6
6
  # Transform Questions into Gift format
7
- module QuestionMoodleFormatter
7
+ class QuestionMoodleFormatter
8
8
  ##
9
9
  # Convert question object into gift formatted string
10
10
  # @param question (Question)
@@ -13,9 +13,11 @@ module QuestionMoodleFormatter
13
13
  case question.type
14
14
  when :choice
15
15
  fractions = Application.instance.config['questions']['fractions']
16
- # penalties = ['', '-50', '-33.33333', '-25', '-20']
17
16
  penalties = fractions
18
-
17
+ # penalties = ['', '-50', '-33.33333', '-25', '-20']
18
+ # puts "[DEBUG] fractions : #{fractions}"
19
+ # puts "[DEBUG] penalties : #{penalties}"
20
+
19
21
  penalty = penalties[question.bads.size]
20
22
  template = File.read(File.join(File.dirname(__FILE__), 'moodle', 'multichoice.erb'))
21
23
  when :boolean
@@ -1,11 +1,9 @@
1
- # frozen_string_literal: true
2
1
 
3
2
  require 'erb'
4
3
  require 'yaml'
5
4
  require_relative 'text_actions'
6
5
  require_relative '../logger'
7
6
 
8
- # Lang#lang
9
7
  class Lang
10
8
  include TextActions
11
9
 
@@ -32,7 +30,6 @@ class Lang
32
30
  @mistakes = load_yaml_file(filepath)
33
31
  end
34
32
 
35
- # rubocop:disable Security/YAMLLoad
36
33
  def load_yaml_file(filepath)
37
34
  begin
38
35
  content = YAML.load(File.new(filepath))
@@ -44,5 +41,4 @@ class Lang
44
41
  end
45
42
  content
46
43
  end
47
- # rubocop:enable Security/YAMLLoad
48
44
  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,8 +1,6 @@
1
1
 
2
- # Global parameters
3
- module Version
4
- MAJOR_NUMBER = '2.3'
5
- VERSION = "#{MAJOR_NUMBER}.4"
2
+ class Asker
3
+ VERSION = '2.4.2'
6
4
  NAME = 'asker'
7
5
  GEM = 'asker-tool'
8
6
  CONFIGFILE = 'asker.ini'
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.3.4
4
+ version: 2.4.2
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-03-25 00:00:00.000000000 Z
11
+ date: 2022-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: haml
@@ -170,6 +170,9 @@ files:
170
170
  - lib/asker/files/asker.ini
171
171
  - lib/asker/files/example-code.haml
172
172
  - lib/asker/files/example-concept.haml
173
+ - lib/asker/files/language/ca/connectors.yaml
174
+ - lib/asker/files/language/ca/mistakes.yaml
175
+ - lib/asker/files/language/ca/templates.yaml
173
176
  - lib/asker/files/language/du/connectors.yaml
174
177
  - lib/asker/files/language/du/mistakes.yaml
175
178
  - lib/asker/files/language/du/templates.yaml