Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nilsding/questiongenerator
A simple question generator.
https://github.com/nilsding/questiongenerator
generator justask question retrospring ruby
Last synced: 3 months ago
JSON representation
A simple question generator.
- Host: GitHub
- URL: https://github.com/nilsding/questiongenerator
- Owner: nilsding
- License: other
- Created: 2014-12-08T23:58:23.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2023-01-31T22:17:09.000Z (almost 2 years ago)
- Last Synced: 2024-04-23T23:46:59.324Z (9 months ago)
- Topics: generator, justask, question, retrospring, ruby
- Language: Ruby
- Size: 30.3 KB
- Stars: 5
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# questiongenerator
A simple question generator, used by Retrospring (formerly justask).
## Installation
Add this line to your application's Gemfile:
gem 'questiongenerator'
If you're feeling _edgy_, you can add this line instead:
gem 'questiongenerator', git: 'https://github.com/nilsding/questiongenerator.git'
## Usage
``` ruby
require 'questiongenerator'# Configure it
QuestionGenerator.question_base_path = '/home/nilsding/questions'
QuestionGenerator.default_locale = :en# Compile the questions for increased randomness
QuestionGenerator.compile# Get some questions
puts QuestionGenerator.generate
# => "What is the best thing about the internet?"# You can also specify the locale, if you want to
puts QuestionGenerator.generate locale: :de
# => "Was war das letzte, das du gegessen hast?"# You can also specify an own prefix or suffix:
puts QuestionGenerator.generate locale: :fr, prefix: '[FR] ', suffix: ' ?'
# => "[FR] Quelle est la personne la plus célèbre que vous avez rencontrée ?"
```## How it works
The question generator uses a simple branching structure inside the specified locale to generate questions from it, here is a quick example:
```yml
Can:
you:
- swim
- speak:
- different:
- languages
- play:
- any:
- sports
- the:
- piano
- guitar
- trumpet
- baseball
- ski
- cook
- dance# The following example outputs:
# Can you swim?
# Can you speak different languages?
# Can you play any sports?
# Can you play the piano?
# ...guitar?
# ...trumpet?
# Can you play baseball?
# Can you ski?
# Can you cook?
# Can you dance?
```If you can't break sentences in parts in your language, you can also specify the entire question in one line.
```yml
- Can you swim# The following example outputs:
# Can you swim?
```## Contributing
The files for questions are located in `lib/questions/`
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`)
1. Fork it ( https://github.com/nilsding/questiongenerator/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull RequestPlease 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).
If you add questions in another language to the questiongenerator and purposely add wrong translations, further Pull Requests will be ignored.