asker-tool 2.3.4 → 2.4.2

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: 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