questiongenerator 0.1.0 → 1.1.0

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
- SHA1:
3
- metadata.gz: 41d61d976534cc4eecad47da3478fd1bff9a786f
4
- data.tar.gz: bfc90e54cd448085dacf19e505798d0bff013a34
2
+ SHA256:
3
+ metadata.gz: 758784d5d1a0314b051f925492230ceabd04b25b5c3ffd5449949008940e7f14
4
+ data.tar.gz: fea85ed6d03dc237f32fa53cee8c6644fcd7a02bf173216845f1120c571785de
5
5
  SHA512:
6
- metadata.gz: de58d92b739865038ef2e51c7df558b7eea7d4999db4e524e89824c2ceef6e3227c22cba125d1af1119337395d1bf3e27dd619ffe85dd6fd469b48a9daf9dd04
7
- data.tar.gz: 3f3628c3fca34c2be268e1a7befb6fa9349efcb620396503472cb87b28b49263cb8eafa5dc74dca1fdf6494127a8075bf07a18bd963f477210f2671ee232eb96
6
+ metadata.gz: c82dbab5148bfd888c3783ea1c5c4c37dadc6dcfec27ef5f6899fb8944cc23fbd432d41ebdaed8f4fdb25a5626f072d31a9730fa338ccb5ac8db05eac03137de
7
+ data.tar.gz: f03721ccb6170cd76dbd11663492972849b3e452f2c0ee0fec797c9fd29bb846f38a5c761a3eecfa1044973bdc2c2091b3146a87249db69a2cfe36b02355db7a
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ cache: bundler
3
+ rvm: 2.1
4
+ script: bundle exec rspec
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  gemspec
data/LICENSE.txt CHANGED
@@ -1,5 +1,5 @@
1
1
  questiongenerator
2
- Copyright (c) 2014 nilsding
2
+ Copyright (c) 2014-2021 nilsding
3
3
 
4
4
  MIT License
5
5
 
data/README.md CHANGED
@@ -10,7 +10,7 @@ Add this line to your application's Gemfile:
10
10
 
11
11
  If you're feeling _edgy_, you can add this line instead:
12
12
 
13
- gem 'questiongenerator', git: 'https://github.com/retrospring/questiongenerator.git'
13
+ gem 'questiongenerator', git: 'https://github.com/nilsding/questiongenerator.git'
14
14
 
15
15
  ## Usage
16
16
 
@@ -31,12 +31,68 @@ puts QuestionGenerator.generate
31
31
  # You can also specify the locale, if you want to
32
32
  puts QuestionGenerator.generate locale: :de
33
33
  # => "Was war das letzte, das du gegessen hast?"
34
+
35
+ # You can also specify an own prefix or suffix:
36
+ puts QuestionGenerator.generate locale: :fr, prefix: '[FR] ', suffix: ' ?'
37
+ # => "[FR] Quelle est la personne la plus célèbre que vous avez rencontrée ?"
38
+ ```
39
+
40
+ ## How it works
41
+
42
+ The question generator uses a simple branching structure inside the specified locale to generate questions from it, here is a quick example:
43
+
44
+ ```yml
45
+ Can:
46
+ you:
47
+ - swim
48
+ - speak:
49
+ - different:
50
+ - languages
51
+ - play:
52
+ - any:
53
+ - sports
54
+ - the:
55
+ - piano
56
+ - guitar
57
+ - trumpet
58
+ - baseball
59
+ - ski
60
+ - cook
61
+ - dance
62
+
63
+ # The following example outputs:
64
+ # Can you swim?
65
+ # Can you speak different languages?
66
+ # Can you play any sports?
67
+ # Can you play the piano?
68
+ # ...guitar?
69
+ # ...trumpet?
70
+ # Can you play baseball?
71
+ # Can you ski?
72
+ # Can you cook?
73
+ # Can you dance?
74
+ ```
75
+
76
+ If you can't break sentences in parts in your language, you can also specify the entire question in one line.
77
+ ```yml
78
+ - Can you swim
79
+
80
+ # The following example outputs:
81
+ # Can you swim?
34
82
  ```
35
83
 
36
84
  ## Contributing
37
85
 
38
- 1. Fork it ( https://github.com/retrospring/questiongenerator/fork )
86
+ The files for questions are located in `lib/questions/`
87
+
88
+ If you want to add a new language, create a new file and name it with the [ISO-639-1 language code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) of it (just like `en.yml`)
89
+
90
+ 1. Fork it ( https://github.com/nilsding/questiongenerator/fork )
39
91
  2. Create your feature branch (`git checkout -b my-new-feature`)
40
92
  3. Commit your changes (`git commit -am 'Add some feature'`)
41
93
  4. Push to the branch (`git push origin my-new-feature`)
42
94
  5. Create a new Pull Request
95
+
96
+ Please don't add harassing, scaring or upsetting content to the questions or content that otherwise violates the [Retrospring Terms of Service](https://retrospring.net/terms).
97
+
98
+ If you add questions in another language to the questiongenerator and purposely add wrong translations, further Pull Requests will be ignored.
@@ -1,84 +1,73 @@
1
- require 'yaml'
1
+ # frozen_string_literal: true
2
+
3
+ require "yaml"
2
4
 
3
5
  # Generates some questions.
4
6
  module QuestionGenerator
5
7
  # Version of QuestionGenerator
6
- VERSION = "0.1.0"
8
+ VERSION = "1.1.0"
7
9
 
8
10
  class << self
9
11
  # The base path to the questions (e.g. +'/home/nilsding/questions'+).
10
- attr_accessor :question_base_path
12
+ attr_reader :question_base_path
11
13
  # The default locale, as a symbol.
12
14
  attr_accessor :default_locale
13
15
  end
14
16
 
17
+ module_function
18
+
15
19
  # Generates a new question.
16
20
  # @param options [Hash] A customizable set of options.
17
- # @option options [Symbol] :locale (@default_locale) The target locale
18
- # @option options [String] :prefix Prefix of the question, e.g. +'¿'+
19
- # @option options [String] :suffix ('?') Suffix of the question, e.g. +' ?'+
20
- # @option options [Boolean] :use_compiled (true) Use compiled questions
21
- # instead of generating it. See also {compile}
21
+ # @param :locale [Symbol] The target locale
22
+ # @param :prefix [String] Prefix of the question, e.g. +'¿'+
23
+ # @param :suffix [String] Suffix of the question, e.g. +' ?'+
22
24
  # @return [String] String containing the generated question.
23
- def self.generate(options = {})
24
- opts = {
25
- locale: @default_locale,
26
- prefix: '',
27
- suffix: '?',
28
- use_compiled: true
29
- }.merge!(options)
30
- if opts[:use_compiled] and !@compiled[opts[:locale]].nil?
31
- opts[:prefix] + @compiled[opts[:locale]].sample + opts[:suffix]
32
- else
33
- questions = YAML.load_file(File.expand_path("#{opts[:locale].to_s}.yml", @question_base_path))
34
- opts[:prefix] + get_question(questions).strip + opts[:suffix]
35
- end
25
+ def generate(locale: @default_locale, prefix: "", suffix: "?")
26
+ compile(locale:) unless @compiled.key?(locale)
27
+
28
+ prefix + @compiled[locale].sample + suffix
36
29
  end
37
30
 
38
31
  # Compiles all the questions and stores it into the +@compiled+ hash.
39
- # @param options [Hash] A customizable set of options.
40
- # @option options [Symbol] :locale (@default_locale) The target locale
41
- def self.compile(options = {})
42
- opts = {
43
- locale: @default_locale
44
- }.merge!(options)
45
- questions = YAML.load_file(File.expand_path("#{opts[:locale].to_s}.yml", @question_base_path))
46
- @compiled[@default_locale] = build(questions)
32
+ # @param :locale [Symbol] The target locale
33
+ def compile(locale: @default_locale)
34
+ questions = YAML.load_file(File.expand_path("#{locale}.yml", @question_base_path))
35
+ @compiled[locale] = build(questions)
36
+ end
37
+
38
+ def question_base_path=(path)
39
+ raise Errno::ENOENT.new(path) unless Dir.exist?(path)
40
+
41
+ @compiled = {} # new dir, force a recompile
42
+ @question_base_path = path
47
43
  end
48
44
 
49
45
  private
50
46
 
51
- def self.get_question questions
52
- question = ""
53
- if questions.is_a? Hash
54
- key = questions.keys.sample
55
- value = questions[key]
56
- question = "#{key} #{get_question(value)}"
57
- elsif questions.is_a? Array
58
- question = get_question questions.sample
59
- elsif questions.is_a? String
60
- question = questions
61
- end
62
- question
63
- end
64
-
65
- def self.build(questions, q = "")
66
- ary = []
67
- if questions.is_a? Hash
68
- questions.each do |k, v|
69
- ary << build(v, "#{q}#{k} ")
70
- end
71
- elsif questions.is_a? Array
72
- questions.each do |v|
73
- ary << build(v, q)
47
+ module_function
48
+
49
+ def build(questions, q = "")
50
+ ary = []
51
+
52
+ case questions
53
+ when Hash
54
+ questions.each do |k, v|
55
+ Array(k).each do |variant|
56
+ ary << build(v, "#{q}#{variant} ")
74
57
  end
75
- elsif questions.is_a? String
76
- return "#{q}#{questions}".strip
77
58
  end
78
- ary.flatten
59
+ when Array
60
+ questions.each do |v|
61
+ ary << build(v, q)
62
+ end
63
+ when String
64
+ return "#{q}#{questions}".strip
79
65
  end
80
66
 
81
- @question_base_path = File.expand_path("../questions/", __FILE__)
82
- @default_locale = :en
83
- @compiled = {}
67
+ ary.flatten
68
+ end
69
+
70
+ @question_base_path = File.expand_path("./questions/", __dir__)
71
+ @default_locale = :en
72
+ @compiled = {}
84
73
  end
@@ -0,0 +1,80 @@
1
+ Was:
2
+ - machst du:
3
+ - am liebsten:
4
+ - mit deinen Freunden
5
+ - an einem freien Tag
6
+ - an einem gewöhnlichen Samstagabend
7
+ - in deinem nächsten Urlaub
8
+ - "machst du, wenn":
9
+ - du:
10
+ - dich entspannen willst
11
+ - nicht einschlafen kannst
12
+ - etwas Furchtbares passiert ist
13
+
14
+ - war:
15
+ - das:
16
+ - letzte,:
17
+ - das:
18
+ - du:
19
+ - gegessen hast
20
+ - gemacht hast
21
+ - würdest:
22
+ - du:
23
+ - tun,:
24
+ - wenn:
25
+ - du:
26
+ - nur noch einen Monat zu leben hättest
27
+ - im Lotto gewinnen würdest
28
+ - dich zwischen Reichtum in Einsamkeit oder Armut in Gesellschaft entscheiden müsstest
29
+ - deine Eltern dir sagen würden, dass du adoptiert bist
30
+ - jemand bei dir einbrechen würde, während du im Haus bist
31
+ - es:
32
+ - Drachen gäbe
33
+ - Weltuntergang wäre
34
+ - Geld regnen würde
35
+ - trinkst:
36
+ - du:
37
+ - gerne
38
+ - gerade
39
+ - hast:
40
+ - du:
41
+ - zuletzt:
42
+ - gegessen # REDUNDANZ FTW
43
+ - getrunken
44
+ - gekocht
45
+ - im Radio gehört
46
+ Glaubst:
47
+ - du an:
48
+ - Gott
49
+ - Jesus
50
+ - das fliegende Spaghettimonster
51
+ - dich
52
+
53
+ Möchtest:
54
+ - du:
55
+ - einmal:
56
+ - eine Weltreise machen
57
+ - berühmt werden
58
+ - ein Haus besitzen
59
+ - ein Kind kriegen
60
+ Fährst:
61
+ - du:
62
+ - häufig:
63
+ - Fahrrad
64
+ - Auto
65
+ - mit dem Bus
66
+ - mit der Bahn
67
+ - weg
68
+ - aus der Haut
69
+ - mit dem Schiff
70
+ Magst:
71
+ - du:
72
+ - Meeresfrüchte
73
+ - Hunde
74
+ - Kakadus
75
+ - das Flugzeugfliegen
76
+ - Reisen
77
+ - neue Bekanntschaften
78
+ - das Meer
79
+ - die italienische Küche
80
+ - die asiatische Küche
data/lib/questions/en.yml CHANGED
@@ -47,26 +47,28 @@ Do:
47
47
  - muffins
48
48
  - video games
49
49
  know:
50
- too:
51
- much:
52
- about: &friends_know_much
50
+ [much, too much]:
51
+ about:
53
52
  - your:
54
53
  - life
55
54
  - hobbies
56
55
  - family
57
56
  - friends
58
57
  - you
59
- much:
60
- about: *friends_know_much
61
58
  What:
62
59
  - was:
63
60
  the:
61
+ best:
62
+ - day of your life like
64
63
  last:
64
+ song:
65
+ - you listened on repeat
65
66
  thing:
66
67
  you:
67
68
  have:
68
- - eaten
69
+ - bought
69
70
  - done
71
+ - eaten
70
72
  your:
71
73
  favourite:
72
74
  song:
@@ -90,30 +92,33 @@ What:
90
92
  you:
91
93
  do:
92
94
  - for fun
93
- - on:
95
+ - 'on':
94
96
  - the:
95
97
  - weekend
96
98
  like:
97
- more:
99
+ more,:
98
100
  - dogs or cats
99
101
  - shower or bath
100
102
  - tea or coffee
101
103
  think:
102
104
  about:
103
105
  - the:
104
- - internet
106
+ - Internet
105
107
  - Bad Dragon
106
108
  - dragons
107
109
  - '"fact" accounts'
108
110
  - society
109
111
  - cats
110
112
  - surveillance
111
- - feminists
112
- - activity: &activity
113
+ - coyotes
114
+ - raccoons
115
+ - foxes
116
+ - dogs
117
+ - lizards
118
+ - [activity, activities]:
113
119
  do:
114
120
  you:
115
121
  - enjoy the most
116
- - activities: *activity
117
122
  - kind:
118
123
  of:
119
124
  animals:
@@ -124,7 +129,7 @@ What:
124
129
  really:
125
130
  find:
126
131
  cute:
127
- - in a person?
132
+ - in a person
128
133
  - is:
129
134
  your:
130
135
  - first memory
@@ -136,32 +141,35 @@ What:
136
141
  - sports team
137
142
  - activity
138
143
  - beverage
139
- - internet browser
144
+ - Internet browser
140
145
  - piece of music
141
146
  - console
142
- - retrospring developer
143
- - retrospring moderator
144
147
  - snack
145
148
  - food
149
+ - animal
146
150
  - programming language:
147
151
  - ''
148
152
  - and why is it:
149
153
  - PHP
150
- website:
154
+ - Rust
155
+ - C++
156
+ - Lisp
157
+ - Pascal
158
+ - Swift
159
+ - Ruby
160
+ - website:
151
161
  - ''
152
162
  - and why is it:
153
- - 4chan
154
- - 9gag
155
163
  - Reddit
156
164
  - Twitter
157
165
  - Facebook
158
166
  - YouTube
159
167
  the:
160
- best: &is_the_best
168
+ [best, worst]:
161
169
  thing:
162
170
  - about:
163
171
  the:
164
- - internet
172
+ - Internet
165
173
  your:
166
174
  - favourite:
167
175
  - series
@@ -176,7 +184,6 @@ What:
176
184
  fast:
177
185
  food:
178
186
  - chain
179
- worst: *is_the_best
180
187
  one:
181
188
  - thing you would like to become better at
182
189
  - was:
@@ -187,11 +194,12 @@ What:
187
194
  - did
188
195
  - ate
189
196
  - looked for
190
- best: &was_the_best
197
+ [best, worst]:
191
198
  thing:
192
199
  - "you've eaten so far"
193
- worst: *was_the_best
194
200
  - languages do you know
201
+ - apps do you use daily
202
+ - 'is heavier: a kilogram of steel, or a kilogram of feathers'
195
203
  Can:
196
204
  you:
197
205
  - swim
@@ -205,10 +213,13 @@ Can:
205
213
  - piano
206
214
  - guitar
207
215
  - trumpet
216
+ - saxophone
208
217
  - baseball
209
218
  - ski
210
219
  - cook
211
220
  - dance
221
+ - yodel
222
+ - draw
212
223
  Are:
213
224
  you:
214
225
  - religious
@@ -216,7 +227,7 @@ Have:
216
227
  you:
217
228
  ever:
218
229
  - been:
219
- - in:
230
+ - to:
220
231
  - Austria
221
232
  - Germany
222
233
  - Japan
@@ -243,6 +254,7 @@ Have:
243
254
  - "from the 80's"
244
255
  - dubstep
245
256
  - nightcore
257
+ - metal
246
258
  - had:
247
259
  - an:
248
260
  - accident
@@ -258,10 +270,14 @@ How:
258
270
  old:
259
271
  are:
260
272
  - you
273
+ many:
274
+ - open tabs do you currently have
275
+ - followers is too many
261
276
  Where:
262
277
  do:
263
278
  you:
264
279
  - work
280
+ - live
265
281
  Which:
266
282
  food:
267
283
  do:
@@ -272,6 +288,16 @@ Who:
272
288
  is:
273
289
  the:
274
290
  - most famous person you have met
291
+ your:
292
+ - favourite:
293
+ - Retrospring user
294
+ - actor
295
+ - artist
296
+ - comedian
297
+ - musician
298
+ Why:
299
+ do:
300
+ - they call it oven when you of in the cold food of out hot eat the food
275
301
  Would:
276
302
  you:
277
303
  rather:
@@ -0,0 +1,161 @@
1
+ Que:
2
+ - "feriez-vous":
3
+ - si:
4
+ - vous:
5
+ - pouviez:
6
+ - voler
7
+ - "changer votre apparence pendant une journée"
8
+ - "devenir le Président de la République"
9
+ - aviez:
10
+ - "un million d'euros"
11
+ - "faites-vous":
12
+ - "le week-end"
13
+ - pour vous amuser
14
+ - "quand vous êtes en vacances"
15
+ - "pensez-vous":
16
+ - de:
17
+ - "l'internet"
18
+ - Bad Dragon
19
+ - la:
20
+ - "société"
21
+ - loi renseignement
22
+ - pornographie
23
+ - vie:
24
+ - en:
25
+ - France
26
+ - 2015
27
+ - aux:
28
+ - "États-Unis"
29
+ - des:
30
+ - dragons
31
+ - féministes
32
+ - chats
33
+ - "préférez-vous":
34
+ - entre:
35
+ - "le thé et le café"
36
+ - les chiens et les chats
37
+ - le bain et la douche
38
+
39
+ Quel:
40
+ - est:
41
+ - votre:
42
+ - premier souvenir
43
+ - "jeu vidéo préféré"
44
+ - "jeu de table préféré"
45
+ - "navigateur préféré"
46
+ - "plat préféré"
47
+ - "langage de programmation préféré":
48
+ - ''
49
+ - "et pourquoi est-ce":
50
+ - PHP
51
+ - "site préféré":
52
+ - ''
53
+ - "et pourquoi est-ce":
54
+ - 4chan
55
+ - 9gag
56
+ - Reddit
57
+ - Twitter
58
+ - Facebook
59
+ - YouTube
60
+ - Fanatic Game
61
+ - "modérateur Retrospring préféré"
62
+ - "développeur Retrospring préféré"
63
+ - le:
64
+ - "métier de vos rêves"
65
+ - "plus beau cadeau qu'on ait pu vous faire"
66
+ - "âge":
67
+ - "avez-vous"
68
+
69
+ Quelle:
70
+ - est:
71
+ - votre:
72
+ - "chanson préférée"
73
+ - "chiffre préféré"
74
+ - "couleur préférée"
75
+ - "saison préférée"
76
+ - "équipe de sport préférée"
77
+ - "musique préférée"
78
+ - "console préférée"
79
+ - "boisson préférée"
80
+ - "activité préférée"
81
+ - "série préférée"
82
+ - "série d'animation japonaise préférée"
83
+ - la:
84
+ - "personne la plus célèbre que vous avez rencontrée"
85
+ - "était":
86
+ - votre:
87
+ - chanson:
88
+ - "préférée":
89
+ - quand vous aviez 5 ans
90
+ - il y a quelques semaines
91
+ - la:
92
+ - "dernière":
93
+ - "chose que vous avez mangée"
94
+
95
+ "Êtes-vous":
96
+ - "déjà":
97
+ - "allé":
98
+ - en:
99
+ - Autriche
100
+ - Allemagne
101
+ - Suisse
102
+ - France
103
+ - "Suède"
104
+ - "Norvège"
105
+ - Finlande
106
+ - Australie
107
+ - Italie
108
+ - Russie
109
+ - Chine
110
+ - au:
111
+ - Japon
112
+ - "Royaume-Uni"
113
+ - aux:
114
+ - "États-Unis"
115
+ - une personne:
116
+ - religieuse
117
+ - courageuse
118
+
119
+ "Avez-vous":
120
+ - un:
121
+ - animal de compagnie
122
+ - surnom
123
+ - "frère ou une sœur"
124
+ - une:
125
+ - console de jeux
126
+ - "déjà":
127
+ - "écrit":
128
+ - "une lettre d'amour"
129
+ - en japonais
130
+
131
+ "Aimez-vous":
132
+ - les:
133
+ - "jeux vidéo"
134
+ - "réseaux sociaux"
135
+ - muffins
136
+ - frites
137
+ - la:
138
+ - "pêche"
139
+ - ville:
140
+ - "où vous":
141
+ - habitez
142
+ - "êtes né"
143
+ - voyager
144
+ - chanter
145
+ - "quand il n'y a personne chez vous"
146
+ - en japonais
147
+ - dans la rue
148
+
149
+ "Pouvez-vous":
150
+ - jouer:
151
+ - "d'un instrument"
152
+ - au baseball
153
+ - au football
154
+ - nager
155
+ - cuisiner
156
+ - parler:
157
+ - plusieurs:
158
+ - langues
159
+
160
+ Comment:
161
+ - "allez-vous"
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.6"
21
+ spec.add_development_dependency "bundler", ">= 1.6", "< 3"
22
22
  spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "rspec"
23
24
  end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ describe QuestionGenerator do
4
+ it 'applies a prefix to a question' do
5
+ prefix = "¿"
6
+ expect(QuestionGenerator.generate prefix: prefix).to start_with(prefix)
7
+ end
8
+
9
+ it 'applies a suffix to a question' do
10
+ suffix = "!!!1"
11
+ expect(QuestionGenerator.generate suffix: suffix).to end_with(suffix)
12
+ end
13
+
14
+ it 'compiles all available locales' do
15
+ puts
16
+ available_locales = Dir[File.expand_path '../../lib/questions/*.yml', __FILE__].map { |l| File.basename(l).sub(/\.yml$/, '') }
17
+ available_locales.each do |locale|
18
+ print "compiling #{locale}"
19
+ compiled = QuestionGenerator.compile locale: locale.to_sym
20
+ puts " (#{compiled.length} questions)"
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file was generated by the `rspec --init` command. Conventionally, all
4
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
5
+ # The generated `.rspec` file contains `--require spec_helper` which will cause
6
+ # this file to always be loaded, without a need to explicitly require it in any
7
+ # files.
8
+ #
9
+ # Given that it is always loaded, you are encouraged to keep this file as
10
+ # light-weight as possible. Requiring heavyweight dependencies from this file
11
+ # will add to the boot time of your test suite on EVERY test run, even for an
12
+ # individual file that may not need all of that loaded. Instead, consider making
13
+ # a separate helper file that requires the additional dependencies and performs
14
+ # the additional setup, and require it from the spec files that actually need
15
+ # it.
16
+ #
17
+ # The `.rspec` file also contains a few flags that are not defaults but that
18
+ # users commonly want.
19
+ #
20
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
21
+ RSpec.configure do |config|
22
+ # rspec-expectations config goes here. You can use an alternate
23
+ # assertion/expectation library such as wrong or the stdlib/minitest
24
+ # assertions if you prefer.
25
+ config.expect_with :rspec do |expectations|
26
+ # This option will default to `true` in RSpec 4. It makes the `description`
27
+ # and `failure_message` of custom matchers include text for helper methods
28
+ # defined using `chain`, e.g.:
29
+ # be_bigger_than(2).and_smaller_than(4).description
30
+ # # => "be bigger than 2 and smaller than 4"
31
+ # ...rather than:
32
+ # # => "be bigger than 2"
33
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
34
+ end
35
+
36
+ # rspec-mocks config goes here. You can use an alternate test double
37
+ # library (such as bogus or mocha) by changing the `mock_with` option here.
38
+ config.mock_with :rspec do |mocks|
39
+ # Prevents you from mocking or stubbing a method that does not exist on
40
+ # a real object. This is generally recommended, and will default to
41
+ # `true` in RSpec 4.
42
+ mocks.verify_partial_doubles = true
43
+ end
44
+
45
+ # The settings below are suggested to provide a good initial experience
46
+ # with RSpec, but feel free to customize to your heart's content.
47
+ =begin
48
+ # These two settings work together to allow you to limit a spec run
49
+ # to individual examples or groups you care about by tagging them with
50
+ # `:focus` metadata. When nothing is tagged with `:focus`, all examples
51
+ # get run.
52
+ config.filter_run :focus
53
+ config.run_all_when_everything_filtered = true
54
+
55
+ # Limits the available syntax to the non-monkey patched syntax that is
56
+ # recommended. For more details, see:
57
+ # - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
58
+ # - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
59
+ # - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#new__config_option_to_disable_rspeccore_monkey_patching
60
+ config.disable_monkey_patching!
61
+
62
+ # This setting enables warnings. It's recommended, but in some cases may
63
+ # be too noisy due to issues in dependencies.
64
+ config.warnings = true
65
+
66
+ # Many RSpec users commonly either run the entire suite or an individual
67
+ # file, and it's useful to allow more verbose output when running an
68
+ # individual spec file.
69
+ if config.files_to_run.one?
70
+ # Use the documentation formatter for detailed output,
71
+ # unless a formatter has already been configured
72
+ # (e.g. via a command-line flag).
73
+ config.default_formatter = 'doc'
74
+ end
75
+
76
+ # Print the 10 slowest examples and example groups at the
77
+ # end of the spec run, to help surface which specs are running
78
+ # particularly slow.
79
+ config.profile_examples = 10
80
+
81
+ # Run specs in random order to surface order dependencies. If you find an
82
+ # order dependency and want to debug it, you can fix the order by providing
83
+ # the seed, which is printed after each run.
84
+ # --seed 1234
85
+ config.order = :random
86
+
87
+ # Seed global randomization in this process using the `--seed` CLI option.
88
+ # Setting this allows you to use `--seed` to deterministically reproduce
89
+ # test failures related to randomization by passing the same `--seed` value
90
+ # as the one that triggered the failure.
91
+ Kernel.srand config.seed
92
+ =end
93
+ end
metadata CHANGED
@@ -1,41 +1,61 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: questiongenerator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - nilsding
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-18 00:00:00.000000000 Z
11
+ date: 2023-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.6'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '3'
20
23
  type: :development
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - ~>
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '1.6'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rake
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - '>='
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rspec
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
32
52
  - !ruby/object:Gem::Version
33
53
  version: '0'
34
54
  type: :development
35
55
  prerelease: false
36
56
  version_requirements: !ruby/object:Gem::Requirement
37
57
  requirements:
38
- - - '>='
58
+ - - ">="
39
59
  - !ruby/object:Gem::Version
40
60
  version: '0'
41
61
  description: A simple question generator, used by Retrospring.
@@ -45,37 +65,43 @@ executables: []
45
65
  extensions: []
46
66
  extra_rdoc_files: []
47
67
  files:
48
- - .gitignore
68
+ - ".gitignore"
69
+ - ".rspec"
70
+ - ".travis.yml"
49
71
  - Gemfile
50
72
  - LICENSE.txt
51
73
  - README.md
52
74
  - Rakefile
53
75
  - lib/questiongenerator.rb
76
+ - lib/questions/de.yml
54
77
  - lib/questions/en.yml
78
+ - lib/questions/fr.yml
55
79
  - questiongenerator.gemspec
80
+ - spec/questiongenerator_spec.rb
81
+ - spec/spec_helper.rb
56
82
  homepage: https://github.com/retrospring/questiongenerator
57
83
  licenses:
58
84
  - MIT
59
85
  metadata: {}
60
- post_install_message:
86
+ post_install_message:
61
87
  rdoc_options: []
62
88
  require_paths:
63
89
  - lib
64
90
  required_ruby_version: !ruby/object:Gem::Requirement
65
91
  requirements:
66
- - - '>='
92
+ - - ">="
67
93
  - !ruby/object:Gem::Version
68
94
  version: '0'
69
95
  required_rubygems_version: !ruby/object:Gem::Requirement
70
96
  requirements:
71
- - - '>='
97
+ - - ">="
72
98
  - !ruby/object:Gem::Version
73
99
  version: '0'
74
100
  requirements: []
75
- rubyforge_project:
76
- rubygems_version: 2.4.5
77
- signing_key:
101
+ rubygems_version: 3.4.3
102
+ signing_key:
78
103
  specification_version: 4
79
104
  summary: A simple question generator.
80
- test_files: []
81
- has_rdoc:
105
+ test_files:
106
+ - spec/questiongenerator_spec.rb
107
+ - spec/spec_helper.rb