asker-tool 2.1.3 → 2.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +17 -17
- data/lib/asker.rb +40 -83
- data/lib/asker/application.rb +1 -1
- data/lib/asker/checker.rb +42 -25
- data/lib/asker/cli.rb +1 -1
- data/lib/asker/data/world.rb +2 -0
- data/lib/asker/{exporter/code_screen_exporter.rb → displayer/code_displayer.rb} +6 -6
- data/lib/asker/{exporter/concept_ai_screen_exporter.rb → displayer/concept_ai_displayer.rb} +27 -29
- data/lib/asker/displayer/concept_displayer.rb +27 -0
- data/lib/asker/displayer/stats_displayer.rb +13 -0
- data/lib/asker/exporter/code_gift_exporter.rb +10 -11
- data/lib/asker/exporter/concept_ai_gift_exporter.rb +9 -9
- data/lib/asker/exporter/concept_ai_yaml_exporter.rb +2 -4
- data/lib/asker/exporter/concept_doc_exporter.rb +9 -15
- data/lib/asker/exporter/output_file_exporter.rb +18 -0
- data/lib/asker/files/example-concept.haml +25 -8
- data/lib/asker/formatter/concept_string_formatter.rb +9 -8
- data/lib/asker/lang/lang.rb +3 -4
- data/lib/asker/lang/locales/du/templates.yaml +50 -0
- data/lib/asker/lang/locales/en/connectors.yaml +44 -0
- data/lib/asker/lang/locales/en/mistakes.yaml +37 -0
- data/lib/asker/lang/locales/en/templates.yaml +29 -0
- data/lib/asker/lang/locales/es/connectors.yaml +92 -0
- data/lib/asker/lang/locales/es/mistakes.yaml +82 -0
- data/lib/asker/lang/locales/es/templates.yaml +29 -0
- data/lib/asker/lang/locales/fr/connectors.yaml +92 -0
- data/lib/asker/lang/locales/fr/mistakes.yaml +82 -0
- data/lib/asker/lang/locales/fr/templates.yaml +29 -0
- data/lib/asker/lang/locales/javascript/connectors.yaml +11 -0
- data/lib/asker/lang/locales/javascript/mistakes.yaml +30 -0
- data/lib/asker/lang/locales/javascript/templates.yaml +3 -0
- data/lib/asker/lang/locales/math/connectors.yaml +2 -0
- data/lib/asker/lang/locales/math/mistakes.yaml +2 -0
- data/lib/asker/lang/locales/math/templates.yaml +1 -0
- data/lib/asker/lang/locales/python/connectors.yaml +11 -0
- data/lib/asker/lang/locales/python/mistakes.yaml +26 -0
- data/lib/asker/lang/locales/python/templates.yaml +3 -0
- data/lib/asker/lang/locales/ruby/connectors.yaml +11 -0
- data/lib/asker/lang/locales/ruby/mistakes.yaml +33 -0
- data/lib/asker/lang/locales/ruby/templates.yaml +3 -0
- data/lib/asker/lang/locales/sql/connectors.yaml +6 -0
- data/lib/asker/lang/locales/sql/mistakes.yaml +11 -0
- data/lib/asker/lang/locales/sql/templates.yaml +2 -0
- data/lib/asker/loader/input_loader.rb +22 -5
- data/lib/asker/loader/project_loader.rb +25 -24
- data/lib/asker/logger.rb +1 -2
- data/lib/asker/project.rb +5 -3
- data/lib/asker/skeleton.rb +25 -24
- metadata +47 -63
- data/docs/changelog/v2.1.md +0 -99
- data/docs/commands.md +0 -12
- data/docs/contributions.md +0 -18
- data/docs/history.md +0 -40
- data/docs/idea.md +0 -44
- data/docs/inputs/README.md +0 -39
- data/docs/inputs/code.md +0 -69
- data/docs/inputs/concepts.md +0 -142
- data/docs/inputs/jedi.md +0 -68
- data/docs/inputs/tables.md +0 -112
- data/docs/inputs/templates.md +0 -87
- data/docs/install/README.md +0 -38
- data/docs/install/manual.md +0 -26
- data/docs/install/scripts.md +0 -38
- data/docs/revise/asker-file.md +0 -41
- data/docs/revise/buenas-practicas/01-convocatoria.md +0 -30
- data/docs/revise/buenas-practicas/02-formulario.md +0 -35
- data/docs/revise/buenas-practicas/03-descripcion.md +0 -63
- data/docs/revise/buenas-practicas/04-resultados.md +0 -17
- data/docs/revise/buenas-practicas/05-reproducir.md +0 -10
- data/docs/revise/ejemplos/01/README.md +0 -27
- data/docs/revise/ejemplos/02/README.md +0 -31
- data/docs/revise/ejemplos/03/README.md +0 -31
- data/docs/revise/ejemplos/04/README.md +0 -37
- data/docs/revise/ejemplos/05/README.md +0 -25
- data/docs/revise/ejemplos/06/README.md +0 -43
- data/docs/revise/ejemplos/README.md +0 -11
- data/docs/revise/projects.md +0 -74
- data/lib/asker/exporter/concept_screen_exporter.rb +0 -25
- data/lib/asker/exporter/main.rb +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 39bc74c80c6c83d62fb43bee32e10d3c3503880132cbaaa81f5e14115c9286d7
|
4
|
+
data.tar.gz: b60194338ffb8429c665d726b62f784c7a0787efb79db4a079b4c13bcbcd6fe8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 11b8da624fedb21e507ec7f015e8e921d8d2a85efd613e1a85646114e4b505a73f303b96b2a76ce77653cf511143f495dffcb6477959eb43ad139446547e55ae
|
7
|
+
data.tar.gz: f6c64ac247cada2b4099385e77b2e86b953f60d4250a01f2907ff811b92d10d50628ffeb0c1f8921bef5900be3f46bec18f664276e03441e8af7ae7183965f28
|
data/README.md
CHANGED
@@ -7,41 +7,41 @@ Generate a lot of questions from an _input file_ base on your own _definitions_.
|
|
7
7
|
|
8
8
|
ASKER helps trainers to create a huge amount of questions, from a definitions (_conceptual entities_) input file.
|
9
9
|
|
10
|
-
Steps:
|
11
|
-
|
12
|
-
1. Create an input file with your definitions (_conceptual entities_).
|
13
|
-
1. Run _asker_ and get the results into `output` directory.
|
14
|
-
|
15
|
-
Features:
|
16
|
-
|
17
10
|
* Free Software [LICENSE](https://github.com/dvarrui/asker/blob/devel/LICENSE).
|
18
11
|
* Multiplatform.
|
19
|
-
* Input file formats: HAML, XML.
|
20
|
-
* Output file format: GIFT (Moodle cuestionairs).
|
21
12
|
* Ruby program.
|
22
13
|
|
14
|
+
---
|
15
|
+
# Installation
|
16
|
+
|
17
|
+
1. Install Ruby on your system.
|
18
|
+
2. `gem install asker-tool`
|
19
|
+
|
23
20
|
---
|
24
21
|
# Usage
|
25
22
|
|
26
|
-
|
23
|
+
Steps:
|
24
|
+
|
25
|
+
1. Create an input file with your definitions (_conceptual entities_).
|
26
|
+
1. Run _asker_ and get the results into `output` directory.
|
27
|
+
|
28
|
+
Run `asker` with our example input file as argument (`jedi.haml`):
|
27
29
|
|
28
30
|
```
|
29
31
|
asker docs/examples/starwars/jedi.haml
|
30
32
|
```
|
31
33
|
|
32
|
-
*
|
33
|
-
*
|
34
|
-
* [
|
35
|
-
* More
|
34
|
+
* Output files created into the `output` folder.
|
35
|
+
* This example use an example input definition file `docs/examples/starwars/jedi.haml`, with concepts about _"Jedi's"_. ;-)
|
36
|
+
* More [example input files](https://github.com/dvarrui/asker/tree/devel/docs/examples).
|
37
|
+
* More asker input files at `github/dvarrui/asker-inputs` repository.
|
36
38
|
|
37
39
|
---
|
38
40
|
# Documentation
|
39
41
|
|
40
42
|
* [Installation](https://github.com/dvarrui/asker/blob/devel/docs/install/README.md)
|
41
|
-
1. Install Ruby on your system.
|
42
|
-
2. `gem install asker-tool`
|
43
43
|
* [Inputs](https://github.com/dvarrui/asker/blob/devel/docs/inputs/README.md)
|
44
|
-
* [
|
44
|
+
* [Usage](https://github.com/dvarrui/asker/blob/devel/docs/usage.md)
|
45
45
|
* [Contributions](https://github.com/dvarrui/asker/blob/devel/docs/contributions.md)
|
46
46
|
* [Base idea](https://github.com/dvarrui/asker/blob/devel/docs/idea.md)
|
47
47
|
* [History](https://github.com/dvarrui/asker/blob/devel/docs/history.md)
|
data/lib/asker.rb
CHANGED
@@ -2,63 +2,23 @@
|
|
2
2
|
|
3
3
|
require 'rainbow'
|
4
4
|
|
5
|
-
require_relative 'asker/
|
6
|
-
require_relative 'asker/
|
7
|
-
require_relative 'asker/
|
8
|
-
require_relative 'asker/ai/concept_ai'
|
9
|
-
require_relative 'asker/formatter/concept_string_formatter'
|
10
|
-
require_relative 'asker/exporter/main'
|
5
|
+
require_relative 'asker/displayer/concept_displayer'
|
6
|
+
require_relative 'asker/displayer/stats_displayer'
|
7
|
+
require_relative 'asker/exporter/output_file_exporter'
|
11
8
|
require_relative 'asker/loader/project_loader'
|
12
9
|
require_relative 'asker/loader/input_loader'
|
13
10
|
require_relative 'asker/checker'
|
11
|
+
require_relative 'asker/logger'
|
14
12
|
require_relative 'asker/skeleton'
|
15
13
|
|
16
|
-
|
17
|
-
#
|
18
|
-
# * load_input_data
|
19
|
-
# * create_output_files, show_create_output_files
|
20
|
-
# * create_questions
|
21
|
-
# * show_final_results
|
14
|
+
##
|
15
|
+
# Asker main class
|
22
16
|
class Asker
|
23
|
-
# Initialize atributes
|
24
|
-
def initialize
|
25
|
-
@concepts_ai = []
|
26
|
-
@concepts = []
|
27
|
-
@codes = []
|
28
|
-
end
|
29
|
-
|
30
|
-
##
|
31
|
-
# Start working
|
32
|
-
# @param args (Hash)
|
33
|
-
def start(args = {})
|
34
|
-
load_input_data(args)
|
35
|
-
create_output_files
|
36
|
-
show_final_results
|
37
|
-
end
|
38
|
-
|
39
17
|
##
|
40
|
-
#
|
41
|
-
# @param
|
42
|
-
def
|
43
|
-
|
44
|
-
Project.instance.open
|
45
|
-
data = InputLoader.load(Project.instance.get(:inputdirs).split(','))
|
46
|
-
@concepts = data[:concepts]
|
47
|
-
@codes = data[:codes]
|
48
|
-
Project.instance.verbose "\n[INFO] Loading data from Internet"
|
49
|
-
@world = World.new(@concepts)
|
50
|
-
ConceptScreenExporter.export_all(@concepts)
|
51
|
-
end
|
52
|
-
|
53
|
-
##
|
54
|
-
# Create output files
|
55
|
-
# * Gift
|
56
|
-
# * YAML
|
57
|
-
# * TXT Doc
|
58
|
-
def create_output_files
|
59
|
-
show_create_output_files
|
60
|
-
create_questions
|
61
|
-
ConceptDocExporter.new(@concepts).export
|
18
|
+
# Create asker input demo files
|
19
|
+
# @param dirpath (String)
|
20
|
+
def self.create_skeleton(dirpath)
|
21
|
+
Skeleton.create(dirpath)
|
62
22
|
end
|
63
23
|
|
64
24
|
##
|
@@ -69,43 +29,40 @@ class Asker
|
|
69
29
|
end
|
70
30
|
|
71
31
|
##
|
72
|
-
#
|
73
|
-
# @param
|
74
|
-
def self.
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
private
|
79
|
-
|
80
|
-
def show_create_output_files
|
81
|
-
p = Project.instance
|
82
|
-
p.verbose "\n[INFO] Creating output files"
|
83
|
-
p.verbose " ├── Gift questions file => #{Rainbow(p.outputpath).bright}"
|
84
|
-
p.verbose " ├── YAML questions file => #{Rainbow(p.yamlpath).bright}"
|
85
|
-
p.verbose " └── Lesson file => #{Rainbow(p.lessonpath).bright}"
|
32
|
+
# Start working
|
33
|
+
# @param filepath (String) HAML or XML filepath
|
34
|
+
def self.start(filepath)
|
35
|
+
project, data = load_input(filepath)
|
36
|
+
ConceptDisplayer.show(data[:concepts], project.get(:show_mode))
|
37
|
+
create_output(project, data)
|
86
38
|
end
|
87
39
|
|
88
40
|
##
|
89
|
-
#
|
90
|
-
#
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
@concepts.each do |concept|
|
97
|
-
concept_ai = ConceptAI.new(concept, @world)
|
98
|
-
concept_ai.make_questions
|
99
|
-
@concepts_ai << concept_ai
|
100
|
-
end
|
101
|
-
ConceptAIGiftExporter.export_all(@concepts_ai)
|
102
|
-
ConceptAIYAMLExporter.export_all(@concepts_ai)
|
103
|
-
CodeGiftExporter.export_all(@codes) # UNDER DEVELOPMENT
|
41
|
+
# Load input data
|
42
|
+
# @param args (Hash)
|
43
|
+
private_class_method def self.load_input(args)
|
44
|
+
project = ProjectLoader.load(args)
|
45
|
+
project.open # Open output files
|
46
|
+
data = InputLoader.load(project.get(:inputdirs).split(','))
|
47
|
+
[project, data]
|
104
48
|
end
|
105
49
|
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
50
|
+
##
|
51
|
+
# Create output files: Gift, YAML, TXT Doc
|
52
|
+
# rubocop:disable Metrics/AbcSize
|
53
|
+
# rubocop:disable Metrics/MethodLength
|
54
|
+
private_class_method def self.create_output(project, data)
|
55
|
+
Logger.verbose "\n[INFO] Creating output files"
|
56
|
+
Logger.verbose ' ├── Gift questions file => ' +
|
57
|
+
Rainbow(project.get(:outputpath)).bright
|
58
|
+
Logger.verbose ' ├── YAML questions file => ' +
|
59
|
+
Rainbow(project.get(:yamlpath)).bright
|
60
|
+
Logger.verbose ' └── Lesson file => ' +
|
61
|
+
Rainbow(project.get(:lessonpath)).bright
|
62
|
+
OutputFileExporter.export(data, project)
|
63
|
+
StatsDisplayer.show(data, project.get(:show_mode))
|
64
|
+
project.close # Logger use Project.get(:logfile) until the end
|
110
65
|
end
|
66
|
+
# rubocop:enable Metrics/AbcSize
|
67
|
+
# rubocop:enable Metrics/MethodLength
|
111
68
|
end
|
data/lib/asker/application.rb
CHANGED
data/lib/asker/checker.rb
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
|
2
2
|
require 'rainbow'
|
3
3
|
|
4
|
+
##
|
5
|
+
# Check HAML file syntax
|
4
6
|
module Checker
|
7
|
+
##
|
8
|
+
# Check:
|
9
|
+
# * file exist
|
10
|
+
# * filename extension
|
11
|
+
# * and HAML syntax
|
12
|
+
# @param filepath (String)
|
5
13
|
def self.check(filepath)
|
6
14
|
unless File.exist? filepath
|
7
15
|
puts Rainbow("File not found!").red.bright
|
@@ -14,6 +22,9 @@ module Checker
|
|
14
22
|
check_filepath(filepath)
|
15
23
|
end
|
16
24
|
|
25
|
+
##
|
26
|
+
# Check HAML syntax
|
27
|
+
# @param filepath (String)
|
17
28
|
def self.check_filepath(filepath)
|
18
29
|
data = Data.new(filepath)
|
19
30
|
data.check
|
@@ -85,6 +96,8 @@ module Checker
|
|
85
96
|
@ok
|
86
97
|
end
|
87
98
|
|
99
|
+
private
|
100
|
+
|
88
101
|
def check_empty_lines(line, index)
|
89
102
|
if line.strip.size.zero? or line.start_with? '#'
|
90
103
|
@outputs[index][:type] = :empty
|
@@ -100,12 +113,12 @@ module Checker
|
|
100
113
|
@outputs[index][:state] = :ok
|
101
114
|
else
|
102
115
|
@outputs[index][:state] = :err
|
103
|
-
@outputs[index][:msg] =
|
116
|
+
@outputs[index][:msg] = 'Start with %map{'
|
104
117
|
end
|
105
118
|
elsif index > 0 and line.include?('%map{')
|
106
119
|
@outputs[index][:state] = :err
|
107
120
|
@outputs[index][:type] = :map
|
108
|
-
@outputs[index][:msg] =
|
121
|
+
@outputs[index][:msg] = 'Write %map on line 0'
|
109
122
|
end
|
110
123
|
end
|
111
124
|
|
@@ -135,9 +148,9 @@ module Checker
|
|
135
148
|
if find_parent(index) != :concept
|
136
149
|
@outputs[index][:state] = :err
|
137
150
|
@outputs[index][:msg] = 'Parent(concept) not found!'
|
138
|
-
elsif
|
151
|
+
elsif !line.start_with? ' %names'
|
139
152
|
@outputs[index][:state] = :err
|
140
|
-
@outputs[index][:msg] =
|
153
|
+
@outputs[index][:msg] = 'Write 4 spaces before %names'
|
141
154
|
end
|
142
155
|
end
|
143
156
|
|
@@ -151,9 +164,9 @@ module Checker
|
|
151
164
|
if find_parent(index) != :concept
|
152
165
|
@outputs[index][:state] = :err
|
153
166
|
@outputs[index][:msg] = 'Parent(concept) not found!'
|
154
|
-
elsif
|
167
|
+
elsif !line.start_with? ' %tags'
|
155
168
|
@outputs[index][:state] = :err
|
156
|
-
@outputs[index][:msg] =
|
169
|
+
@outputs[index][:msg] = 'Write 4 spaces before %tags'
|
157
170
|
end
|
158
171
|
end
|
159
172
|
|
@@ -167,9 +180,9 @@ module Checker
|
|
167
180
|
if find_parent(index) != :concept
|
168
181
|
@outputs[index][:state] = :err
|
169
182
|
@outputs[index][:msg] = 'Parent(concept) not found!'
|
170
|
-
elsif
|
183
|
+
elsif !line.start_with? ' %def'
|
171
184
|
@outputs[index][:state] = :err
|
172
|
-
@outputs[index][:msg] =
|
185
|
+
@outputs[index][:msg] = 'Write 4 spaces before %def'
|
173
186
|
end
|
174
187
|
end
|
175
188
|
|
@@ -183,9 +196,9 @@ module Checker
|
|
183
196
|
if find_parent(index) != :concept
|
184
197
|
@outputs[index][:state] = :err
|
185
198
|
@outputs[index][:msg] = 'Parent(concept) not found!'
|
186
|
-
elsif
|
199
|
+
elsif !line.start_with? ' %table'
|
187
200
|
@outputs[index][:state] = :err
|
188
|
-
@outputs[index][:msg] =
|
201
|
+
@outputs[index][:msg] = 'Write 4 spaces before %table'
|
189
202
|
end
|
190
203
|
end
|
191
204
|
|
@@ -211,7 +224,7 @@ module Checker
|
|
211
224
|
end
|
212
225
|
else
|
213
226
|
@outputs[index][:state] = :err
|
214
|
-
@outputs[index][:msg] =
|
227
|
+
@outputs[index][:msg] = 'Write 6 or 8 spaces before %row'
|
215
228
|
end
|
216
229
|
end
|
217
230
|
|
@@ -235,7 +248,7 @@ module Checker
|
|
235
248
|
end
|
236
249
|
else
|
237
250
|
@outputs[index][:state] = :err
|
238
|
-
@outputs[index][:msg] =
|
251
|
+
@outputs[index][:msg] = 'Write 8 or 10 spaces before %col'
|
239
252
|
end
|
240
253
|
end
|
241
254
|
|
@@ -249,9 +262,9 @@ module Checker
|
|
249
262
|
if find_parent(index) != :table
|
250
263
|
@outputs[index][:state] = :err
|
251
264
|
@outputs[index][:msg] = 'Parent(concept) not found!'
|
252
|
-
elsif
|
265
|
+
elsif !line.start_with? ' %template'
|
253
266
|
@outputs[index][:state] = :err
|
254
|
-
@outputs[index][:msg] =
|
267
|
+
@outputs[index][:msg] = 'Write 6 spaces before %template'
|
255
268
|
end
|
256
269
|
end
|
257
270
|
|
@@ -281,9 +294,9 @@ module Checker
|
|
281
294
|
if find_parent(index) != :code
|
282
295
|
@outputs[index][:state] = :err
|
283
296
|
@outputs[index][:msg] = 'Parent(code) not found!'
|
284
|
-
elsif
|
297
|
+
elsif !line.start_with? ' %type'
|
285
298
|
@outputs[index][:state] = :err
|
286
|
-
@outputs[index][:msg] =
|
299
|
+
@outputs[index][:msg] = 'Write 4 spaces before %type'
|
287
300
|
end
|
288
301
|
end
|
289
302
|
|
@@ -297,9 +310,9 @@ module Checker
|
|
297
310
|
if find_parent(index) != :code
|
298
311
|
@outputs[index][:state] = :err
|
299
312
|
@outputs[index][:msg] = 'Parent(code) not found!'
|
300
|
-
elsif
|
313
|
+
elsif !line.start_with? ' %path'
|
301
314
|
@outputs[index][:state] = :err
|
302
|
-
@outputs[index][:msg] =
|
315
|
+
@outputs[index][:msg] = 'Write 4 spaces before %type'
|
303
316
|
end
|
304
317
|
end
|
305
318
|
|
@@ -313,16 +326,17 @@ module Checker
|
|
313
326
|
if find_parent(index) != :code
|
314
327
|
@outputs[index][:state] = :err
|
315
328
|
@outputs[index][:msg] = 'Parent(code) not found!'
|
316
|
-
elsif
|
329
|
+
elsif !line.start_with? ' %features'
|
317
330
|
@outputs[index][:state] = :err
|
318
|
-
@outputs[index][:msg] =
|
331
|
+
@outputs[index][:msg] = 'Write 4 spaces before %features'
|
319
332
|
end
|
320
333
|
end
|
321
334
|
|
322
335
|
def check_unknown(line, index)
|
323
336
|
return unless @outputs[index][:state] == :none
|
337
|
+
|
324
338
|
@outputs[index][:type] = :unknown
|
325
|
-
@outputs[index][:level] = count_spaces(line)/2
|
339
|
+
@outputs[index][:level] = count_spaces(line) / 2
|
326
340
|
@outputs[index][:state] = :err
|
327
341
|
@outputs[index][:msg] = "Unknown tag with parent(#{find_parent(index)})!"
|
328
342
|
end
|
@@ -330,12 +344,14 @@ module Checker
|
|
330
344
|
def find_parent(index)
|
331
345
|
current_level = @outputs[index][:level]
|
332
346
|
return :noparent if current_level.zero?
|
347
|
+
|
333
348
|
i = index - 1
|
334
|
-
while
|
349
|
+
while i >= 0
|
335
350
|
return @outputs[i][:type] if @outputs[i][:level] == current_level - 1
|
336
|
-
|
351
|
+
|
352
|
+
i -= 1
|
337
353
|
end
|
338
|
-
|
354
|
+
:noparent
|
339
355
|
end
|
340
356
|
|
341
357
|
def count_spaces(line)
|
@@ -350,7 +366,8 @@ module Checker
|
|
350
366
|
return 8 if line.start_with? ' %'
|
351
367
|
return 9 if line.start_with? ' %'
|
352
368
|
return 10 if line.start_with? ' %'
|
353
|
-
|
369
|
+
|
370
|
+
-1
|
354
371
|
end
|
355
372
|
end
|
356
373
|
end
|
data/lib/asker/cli.rb
CHANGED
data/lib/asker/data/world.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
|
2
2
|
require_relative '../loader/image_url_loader'
|
3
3
|
require_relative '../project'
|
4
|
+
require_relative '../logger'
|
4
5
|
|
5
6
|
class World
|
6
7
|
attr_reader :concepts, :filenames, :contexts, :image_urls
|
@@ -23,6 +24,7 @@ class World
|
|
23
24
|
@filenames.uniq!
|
24
25
|
@contexts.uniq!
|
25
26
|
|
27
|
+
Logger.verbose "\n[INFO] Loading data from Internet" if show_progress
|
26
28
|
threads = []
|
27
29
|
concepts.each do |c|
|
28
30
|
print('.') if show_progress
|