jungi 0.0.1
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 +7 -0
- data/LICENSE +675 -0
- data/README.md +49 -0
- data/Rakefile +38 -0
- data/bin/jungi +181 -0
- data/lib/jungi/bigfive.rb +329 -0
- data/lib/jungi/classes.rb +193 -0
- data/lib/jungi/cli.rb +105 -0
- data/lib/jungi/oejts.rb +170 -0
- data/lib/jungi/paulhus.rb +130 -0
- metadata +53 -0
data/README.md
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# JungI (Yoong-ee)
|
2
|
+
|
3
|
+
```
|
4
|
+
JungI - A simple program for taking open source personality tests.
|
5
|
+
Copyright (C) 2015 Mfrogy Starmade
|
6
|
+
|
7
|
+
This program is free software: you can redistribute it and/or modify
|
8
|
+
it under the terms of the GNU General Public License as published by
|
9
|
+
the Free Software Foundation, either version 3 of the License, or
|
10
|
+
(at your option) any later version.
|
11
|
+
|
12
|
+
This program is distributed in the hope that it will be useful,
|
13
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
+
GNU General Public License for more details.
|
16
|
+
|
17
|
+
You should have received a copy of the GNU General Public License
|
18
|
+
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
19
|
+
```
|
20
|
+
|
21
|
+
> Disclaimer: I am not a psychologist!
|
22
|
+
|
23
|
+
## Goals
|
24
|
+
1. Provide a cross-platform way to take standardized Public Domain personality tests.
|
25
|
+
2. To reduce outside dependencies to a minimum.
|
26
|
+
3. To provide both a CLI(Command Line Interface) and a GUI(Graphical User Interface) as usable interfaces.
|
27
|
+
|
28
|
+
## Supports
|
29
|
+
* Open Extended Jungian Types (OEJTS) 1.2
|
30
|
+
* IPIP Big-Five Broad Domain 50 Questions
|
31
|
+
* IPIP Big-Five Broad Domain 100 Questions
|
32
|
+
* Delroy L. Paulhus' Short Dark Triad (SD3)
|
33
|
+
|
34
|
+
## Usage
|
35
|
+
```
|
36
|
+
Usage: jungi-cli [options]
|
37
|
+
|
38
|
+
Tests:
|
39
|
+
-b, --big Use IPIP Big Five Broad 50 test
|
40
|
+
-B, --bigger Use IPIP Big Five Broad 100 test
|
41
|
+
-j, --jungian Use OEJTS 1.2 test
|
42
|
+
-t, --triad Use Delroy L. Paulhus' SD3
|
43
|
+
|
44
|
+
Modifiers:
|
45
|
+
-r, --randomize Automatically fills in random answers
|
46
|
+
|
47
|
+
Common options:
|
48
|
+
-h, --help Display this help and exit
|
49
|
+
```
|
data/Rakefile
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# Thanks, fhsjaagshs!
|
4
|
+
|
5
|
+
s = eval(File.read(Dir.glob("*.gemspec").first))
|
6
|
+
app_name = s.name
|
7
|
+
gem_name = "#{s.name}-#{s.version}.gem"
|
8
|
+
|
9
|
+
desc "Cleanup gem files"
|
10
|
+
task :clean do
|
11
|
+
`[ -f #{gem_name} ] && rm #{gem_name}`
|
12
|
+
end
|
13
|
+
|
14
|
+
desc "Build gem"
|
15
|
+
task :build do
|
16
|
+
puts "Building '#{app_name}'..."
|
17
|
+
`gem build -q #{app_name}.gemspec`
|
18
|
+
end
|
19
|
+
|
20
|
+
desc "Install gem"
|
21
|
+
task :install do
|
22
|
+
puts "Uninstalling currently installed '#{app_name}'..."
|
23
|
+
`gem uninstall -q --force #{gem_name}`
|
24
|
+
puts "Installing '#{app_name}'..."
|
25
|
+
`gem install -q --ignore-dependencies --local #{gem_name}`
|
26
|
+
end
|
27
|
+
|
28
|
+
desc "Upload gem to rubyforge"
|
29
|
+
task :push do
|
30
|
+
Rake::Task["clean"].invoke
|
31
|
+
Rake::Task["build"].invoke
|
32
|
+
puts "Pushing '#{app_name}' to rubygems..."
|
33
|
+
exec("gem push #{gem_name}")
|
34
|
+
end
|
35
|
+
|
36
|
+
task :default do
|
37
|
+
Rake::Task["build"].invoke
|
38
|
+
end
|
data/bin/jungi
ADDED
@@ -0,0 +1,181 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# coding: utf-8
|
3
|
+
|
4
|
+
# JungI - A simple program for taking open source personality tests.
|
5
|
+
# Copyright (C) 2015 Mfrogy Starmade
|
6
|
+
#
|
7
|
+
# This program is free software: you can redistribute it and/or modify
|
8
|
+
# it under the terms of the GNU General Public License as published by
|
9
|
+
# the Free Software Foundation, either version 3 of the License, or
|
10
|
+
# (at your option) any later version.
|
11
|
+
#
|
12
|
+
# This program is distributed in the hope that it will be useful,
|
13
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
14
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
15
|
+
# GNU General Public License for more details.
|
16
|
+
#
|
17
|
+
# You should have received a copy of the GNU General Public License
|
18
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
19
|
+
|
20
|
+
require 'optparse'
|
21
|
+
begin
|
22
|
+
require_relative '../lib/jungi/classes'
|
23
|
+
require_relative '../lib/jungi/oejts'
|
24
|
+
require_relative '../lib/jungi/bigfive'
|
25
|
+
require_relative '../lib/jungi/paulhus'
|
26
|
+
require_relative '../lib/jungi/cli.rb'
|
27
|
+
rescue LoadError
|
28
|
+
require 'jungi/classes'
|
29
|
+
require 'jungi/oejts'
|
30
|
+
require 'jungi/bigfive'
|
31
|
+
require 'jungi/paulhus'
|
32
|
+
require 'jungi/cli'
|
33
|
+
end
|
34
|
+
|
35
|
+
WIDTH = JungiCli.width
|
36
|
+
|
37
|
+
options = {}
|
38
|
+
ARGV.options do |opts|
|
39
|
+
opts.banner = 'Usage: jungi-cli [options]'
|
40
|
+
opts.separator 'This test has Mad Cow Powers' if Process.uid == 0
|
41
|
+
opts.separator ''
|
42
|
+
opts.separator 'Tests:'
|
43
|
+
opts.on('-b', '--big', 'Use IPIP Big Five Broad 50 test') do |_v|
|
44
|
+
options[:bigfivebroad50] = true
|
45
|
+
end
|
46
|
+
opts.on('-B', '--bigger', 'Use IPIP Big Five Broad 100 test') do |_v|
|
47
|
+
options[:bigfivebroad100] = true
|
48
|
+
end
|
49
|
+
opts.on('-j', '--jungian', 'Use OEJTS 1.2 test') do |_v|
|
50
|
+
options[:oejts] = true
|
51
|
+
end
|
52
|
+
opts.on('-t', '--triad', "Use Delroy L. Paulhus' SD3") do |_v|
|
53
|
+
options[:sd3test] = true
|
54
|
+
end
|
55
|
+
|
56
|
+
opts.separator ''
|
57
|
+
opts.separator 'Modifiers:'
|
58
|
+
opts.on('-r', '--randomize', 'Automatically fills in random answers') do |_v|
|
59
|
+
options[:randomize] = true
|
60
|
+
end
|
61
|
+
opts.on('-s', '--shoes', 'Use the green_shoes gem to provide a GUI') do |_v|
|
62
|
+
options[:shoes] = true
|
63
|
+
end
|
64
|
+
opts.separator ''
|
65
|
+
opts.separator 'Common options:'
|
66
|
+
opts.on_tail('-h', '--help', 'Display this help and exit')
|
67
|
+
|
68
|
+
options[:helper] = opts.help
|
69
|
+
|
70
|
+
opts.parse!
|
71
|
+
end
|
72
|
+
if options[:shoes]
|
73
|
+
shoes_available = begin
|
74
|
+
Gem::Specification.find_by_name('green_shoes')
|
75
|
+
rescue Gem::LoadError
|
76
|
+
false
|
77
|
+
rescue
|
78
|
+
Gem.available?('green_shoes')
|
79
|
+
end
|
80
|
+
|
81
|
+
if shoes_available
|
82
|
+
require 'green_shoes'
|
83
|
+
else
|
84
|
+
STDERR.puts options[:helper] + "\n"
|
85
|
+
STDERR.puts 'The -s/--shoes option requires the green_shoes gem'
|
86
|
+
exit
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
if WIDTH < 80
|
91
|
+
STDERR.puts options[:helper] + "\n"
|
92
|
+
STDERR.puts "Minimum shell width is 80 characters (#{WIDTH})"
|
93
|
+
exit
|
94
|
+
end
|
95
|
+
tests = 0
|
96
|
+
tests += 1 if options[:bigfivebroad50]
|
97
|
+
tests += 1 if options[:bigfivebroad100]
|
98
|
+
tests += 1 if options[:oejts]
|
99
|
+
tests += 1 if options[:sd3test]
|
100
|
+
|
101
|
+
if tests > 1
|
102
|
+
STDERR.puts options[:helper] + "\n"
|
103
|
+
STDERR.puts 'Only use one test argument at a time'
|
104
|
+
exit
|
105
|
+
end
|
106
|
+
|
107
|
+
if options[:oejts]
|
108
|
+
current_test = OEJTSTest.new
|
109
|
+
JungiCli.clr
|
110
|
+
JungiCli.display_doc(OEJTSTest::DOC)
|
111
|
+
JungiCli.line
|
112
|
+
|
113
|
+
32.times do |int|
|
114
|
+
puts "Question #{int + 1}".center WIDTH
|
115
|
+
s = JungiCli.ask_scale((current_test.question int), options[:randomize])
|
116
|
+
current_test.set_answer int, s
|
117
|
+
end
|
118
|
+
desig, iev, snv, ftv, jpv = current_test.result
|
119
|
+
|
120
|
+
puts('Test Complete'.center WIDTH)
|
121
|
+
puts('Designation'.center WIDTH, '-')
|
122
|
+
puts(desig.center WIDTH)
|
123
|
+
JungiCli.line
|
124
|
+
JungiCli.display_doc(OEJTSTest.parse_result(desig, iev, snv, ftv, jpv))
|
125
|
+
JungiCli.line
|
126
|
+
elsif options[:bigfivebroad50]
|
127
|
+
current_test = BigFiveBroad50Test.new
|
128
|
+
JungiCli.clr
|
129
|
+
JungiCli.display_doc(BigFiveBroad50Test::DOC)
|
130
|
+
JungiCli.line
|
131
|
+
|
132
|
+
50.times do |c|
|
133
|
+
puts "Question #{c + 1}".center WIDTH
|
134
|
+
s = JungiCli.ask_scale((current_test.question c), options[:randomize])
|
135
|
+
current_test.set_answer c, s
|
136
|
+
end
|
137
|
+
ex, agr, cons, emo, int = current_test.result
|
138
|
+
puts('Test Complete'.center WIDTH)
|
139
|
+
JungiCli.line
|
140
|
+
JungiCli.display_doc("Extraversion: #{ex} Agreeableness: #{agr}\n" \
|
141
|
+
"Conscientiousness: #{cons} Emotional Stability: #{emo}\n" \
|
142
|
+
"Intellect: #{int}")
|
143
|
+
JungiCli.line
|
144
|
+
elsif options[:bigfivebroad100]
|
145
|
+
current_test = BigFiveBroad100Test.new
|
146
|
+
JungiCli.clr
|
147
|
+
JungiCli.display_doc(BigFiveBroad100Test::DOC)
|
148
|
+
JungiCli.line
|
149
|
+
|
150
|
+
100.times do |num|
|
151
|
+
puts "Question #{num + 1}".center WIDTH
|
152
|
+
s = JungiCli.ask_scale((current_test.question num), options[:randomize])
|
153
|
+
current_test.set_answer num, s
|
154
|
+
end
|
155
|
+
ex, agr, cons, emo, int = current_test.result
|
156
|
+
puts('Test Complete'.center WIDTH)
|
157
|
+
JungiCli.line
|
158
|
+
JungiCli.display_doc("Extraversion: #{ex} Agreeableness: #{agr}\n" \
|
159
|
+
"Conscientiousness: #{cons} Emotional Stability: #{emo}\n" \
|
160
|
+
"Intellect: #{int}")
|
161
|
+
JungiCli.line
|
162
|
+
elsif options[:sd3test]
|
163
|
+
current_test = SD3Test.new
|
164
|
+
JungiCli.clr
|
165
|
+
JungiCli.display_doc(SD3Test::DOC)
|
166
|
+
JungiCli.line
|
167
|
+
|
168
|
+
27.times do |c|
|
169
|
+
puts "Question #{c + 1}".center WIDTH
|
170
|
+
s = JungiCli.ask_scale((current_test.question c), options[:randomize])
|
171
|
+
current_test.set_answer c, s
|
172
|
+
end
|
173
|
+
mach, narc, psycho = current_test.result
|
174
|
+
puts('Test Complete'.center WIDTH)
|
175
|
+
JungiCli.line
|
176
|
+
JungiCli.display_doc(SD3Test.parse_result(mach, narc, psycho))
|
177
|
+
JungiCli.line
|
178
|
+
else
|
179
|
+
STDERR.puts options[:helper] + "\n"
|
180
|
+
STDERR.puts 'You must specify a test type'
|
181
|
+
end
|
@@ -0,0 +1,329 @@
|
|
1
|
+
# JungI - A simple program for taking open source personality tests.
|
2
|
+
# Copyright (C) 2015 Mfrogy Starmade
|
3
|
+
#
|
4
|
+
# This program is free software: you can redistribute it and/or modify
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
6
|
+
# the Free Software Foundation, either version 3 of the License, or
|
7
|
+
# (at your option) any later version.
|
8
|
+
#
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
# GNU General Public License for more details.
|
13
|
+
#
|
14
|
+
# You should have received a copy of the GNU General Public License
|
15
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16
|
+
|
17
|
+
# BigFive IPIP tests are sourced from the following locations.
|
18
|
+
#
|
19
|
+
#
|
20
|
+
# Goldberg, L. R. (1999). A broad-bandwidth, public domain, personality
|
21
|
+
# inventory measuring the lower-level facets of several five-factor
|
22
|
+
# models. In I. Mervielde, I. Deary, F. De Fruyt, & F. Ostendorf (Eds.),
|
23
|
+
# Personality Psychology in Europe, Vol. 7 (pp. 7-28). Tilburg,
|
24
|
+
# The Netherlands: Tilburg University Press.
|
25
|
+
#
|
26
|
+
# Goldberg, L. R., Johnson, J. A., Eber, H. W., Hogan, R., Ashton,
|
27
|
+
# M. C., Cloninger, C. R., & Gough, H. C. (2006). The International
|
28
|
+
# Personality Item Pool and the future of public-domain personality
|
29
|
+
# measures. Journal of Research in Personality, 40, 84-96.
|
30
|
+
#
|
31
|
+
# International Personality Item Pool: A Scientific Collaboratory for
|
32
|
+
# the Development of Advanced Measures of Personality Traits and
|
33
|
+
# Other Individual Differences (http://ipip.ori.org/). Internet Web Site.
|
34
|
+
|
35
|
+
begin
|
36
|
+
require_relative './classes'
|
37
|
+
rescue LoadError
|
38
|
+
require 'jungi/classes'
|
39
|
+
end
|
40
|
+
|
41
|
+
# Implementation of BigFive Broad 50 Q
|
42
|
+
class BigFiveBroad50Test < ScaleTest
|
43
|
+
DOC = <<END_FILE
|
44
|
+
IPIP Big Five Broad Domains
|
45
|
+
50 Question Version
|
46
|
+
|
47
|
+
Each question will be asking how well a specific trait
|
48
|
+
describes you. For instance, if the trait is
|
49
|
+
"Start conversations" you should type in "1"
|
50
|
+
if you never start conversations, "2" if you rarely start
|
51
|
+
conversations, "3" if you sometimes do, "4" if you often
|
52
|
+
start them, and "5" if you start them all the time.
|
53
|
+
Press <ENTER> after you've made your choice.
|
54
|
+
END_FILE
|
55
|
+
QUESTIONS = [
|
56
|
+
'Am not really interested in others.',
|
57
|
+
'Often forget to put things back in their proper place.',
|
58
|
+
'Get irritated easily.',
|
59
|
+
'Am the life of the party.',
|
60
|
+
'Change my mood a lot.',
|
61
|
+
'Often feel blue.',
|
62
|
+
'Leave my belongings around.',
|
63
|
+
'Am quick to understand things.',
|
64
|
+
'Am exacting in my work.',
|
65
|
+
'Am quiet around strangers.',
|
66
|
+
'Have a vivid imagination.',
|
67
|
+
"Feel others' emotions.",
|
68
|
+
'Start conversations.',
|
69
|
+
'Get upset easily.',
|
70
|
+
'Am easily disturbed.',
|
71
|
+
'Am full of ideas.',
|
72
|
+
'Make a mess of things.',
|
73
|
+
"Don't like to draw attention to myself.",
|
74
|
+
'Take time out for others.',
|
75
|
+
'Do not have a good imagination.',
|
76
|
+
'Get stressed out easily.',
|
77
|
+
'Have excellent ideas.',
|
78
|
+
"Am not interested in other people's problems.",
|
79
|
+
'Have frequent mood swings.',
|
80
|
+
'Am interested in people.',
|
81
|
+
'Get chores done right away.',
|
82
|
+
'Talk to a lot of different people at parties.',
|
83
|
+
'Worry about things.',
|
84
|
+
'Feel comfortable around people.',
|
85
|
+
'Have difficulty understanding abstract ideas.',
|
86
|
+
"Don't mind being the center of attention.",
|
87
|
+
'Feel little concern for others.',
|
88
|
+
'Have a soft heart.',
|
89
|
+
"Don't talk a lot.",
|
90
|
+
'Spend time reflecting on things.',
|
91
|
+
'Have a rich vocabulary.',
|
92
|
+
'Am relaxed most of the time.',
|
93
|
+
'Keep in the background.',
|
94
|
+
'Shirk my duties.',
|
95
|
+
'Like order.',
|
96
|
+
'Pay attention to details.',
|
97
|
+
'Insult people.',
|
98
|
+
'Am not interested in abstract ideas.',
|
99
|
+
'Make people feel at ease.',
|
100
|
+
'Use difficult words.',
|
101
|
+
'Follow a schedule.',
|
102
|
+
'Have little to say.',
|
103
|
+
'Am always prepared.',
|
104
|
+
"Sympathize with others' feelings.",
|
105
|
+
'Seldom feel blue.'
|
106
|
+
]
|
107
|
+
|
108
|
+
def result
|
109
|
+
fail 'Not ready yet!' unless self.finished?
|
110
|
+
|
111
|
+
ex = self.Q4 + self.Q29 + self.Q13 + self.Q27 + self.Q31 +
|
112
|
+
Question::Answer.reverse_scale(self.Q34) +
|
113
|
+
Question::Answer.reverse_scale(self.Q38) +
|
114
|
+
Question::Answer.reverse_scale(self.Q47) +
|
115
|
+
Question::Answer.reverse_scale(self.Q18) +
|
116
|
+
Question::Answer.reverse_scale(self.Q10)
|
117
|
+
agr = self.Q25 + self.Q49 + self.Q33 + self.Q19 + self.Q12 +
|
118
|
+
self.Q44 + Question::Answer.reverse_scale(self.Q1) +
|
119
|
+
Question::Answer.reverse_scale(self.Q42) +
|
120
|
+
Question::Answer.reverse_scale(self.Q23) +
|
121
|
+
Question::Answer.reverse_scale(self.Q32)
|
122
|
+
cons = self.Q48 + self.Q41 + self.Q26 + self.Q40 + self.Q46 +
|
123
|
+
self.Q9 + Question::Answer.reverse_scale(self.Q7) +
|
124
|
+
Question::Answer.reverse_scale(self.Q17) +
|
125
|
+
Question::Answer.reverse_scale(self.Q2) +
|
126
|
+
Question::Answer.reverse_scale(self.Q39)
|
127
|
+
emo = self.Q37 + self.Q50 +
|
128
|
+
Question::Answer.reverse_scale(self.Q21) +
|
129
|
+
Question::Answer.reverse_scale(self.Q28) +
|
130
|
+
Question::Answer.reverse_scale(self.Q15) -
|
131
|
+
self.Q14 + Question::Answer.reverse_scale(self.Q5) +
|
132
|
+
Question::Answer.reverse_scale(self.Q24) +
|
133
|
+
Question::Answer.reverse_scale(self.Q3) +
|
134
|
+
Question::Answer.reverse_scale(self.Q6)
|
135
|
+
int = self.Q36 + self.Q11 + self.Q22 + self.Q8 + self.Q45 + self.Q35 +
|
136
|
+
self.Q16 + Question::Answer.reverse_scale(self.Q30) +
|
137
|
+
Question::Answer.reverse_scale(self.Q43) +
|
138
|
+
Question::Answer.reverse_scale(self.Q20)
|
139
|
+
|
140
|
+
[ex, agr, cons, emo, int]
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
# Implementation of BigFive Broad 100 Q
|
145
|
+
class BigFiveBroad100Test < ScaleTest
|
146
|
+
DOC = <<END_FILE
|
147
|
+
IPIP Big Five Broad Domains
|
148
|
+
100 Question Version
|
149
|
+
|
150
|
+
Each question will be asking how well a specific trait
|
151
|
+
describes you. For instance, if the trait is
|
152
|
+
"Start conversations" you should type in "1"
|
153
|
+
if you never start conversations, "2" if you rarely start
|
154
|
+
conversations, "3" if you sometimes do, "4" if you often
|
155
|
+
start them, and "5" if you start them all the time.
|
156
|
+
Press <ENTER> after you've made your choice.
|
157
|
+
END_FILE
|
158
|
+
QUESTIONS = [
|
159
|
+
'Talk to a lot of different people at parties.',
|
160
|
+
'Like to tidy up.',
|
161
|
+
'Know how to captivate people.',
|
162
|
+
'Change my mood a lot.',
|
163
|
+
'Have little to say.',
|
164
|
+
'Neglect my duties.',
|
165
|
+
'Panic easily.',
|
166
|
+
'Often forget to put things back in their proper place.',
|
167
|
+
'Make friends easily.',
|
168
|
+
'Start conversations.',
|
169
|
+
'Follow a schedule.',
|
170
|
+
'Am quiet around strangers.',
|
171
|
+
'Leave a mess in my room.',
|
172
|
+
'Have excellent ideas.',
|
173
|
+
'Use difficult words.',
|
174
|
+
'Try to avoid complex people.',
|
175
|
+
'Catch on to things quickly.',
|
176
|
+
'Feel at ease with people.',
|
177
|
+
'Love to think up new ways of doing things.',
|
178
|
+
'Am skilled in handling social situations.',
|
179
|
+
'Often feel blue.',
|
180
|
+
'Have a vivid imagination.',
|
181
|
+
'Often feel uncomfortable around others.',
|
182
|
+
'Insult people.',
|
183
|
+
'Love order and regularity.',
|
184
|
+
'Feel comfortable around people.',
|
185
|
+
'Get irritated easily.',
|
186
|
+
'Can handle a lot of information.',
|
187
|
+
'Carry the conversation to a higher level.',
|
188
|
+
'Grumble about things.',
|
189
|
+
'Spend time reflecting on things.',
|
190
|
+
'Waste my time.',
|
191
|
+
'Do things in a half-way manner.',
|
192
|
+
'Show my gratitude.',
|
193
|
+
'Seldom get mad.',
|
194
|
+
'Make plans and stick to them.',
|
195
|
+
'Leave my belongings around.',
|
196
|
+
'Have frequent mood swings.',
|
197
|
+
'Have difficulty imagining things.',
|
198
|
+
"Don't talk a lot.",
|
199
|
+
'Love to read challenging material.',
|
200
|
+
'Have a good word for everyone.',
|
201
|
+
'Get upset easily.',
|
202
|
+
'Love to help others.',
|
203
|
+
'Feel threatened easily.',
|
204
|
+
'Am exacting in my work.',
|
205
|
+
'Am not really interested in others.',
|
206
|
+
'Get stressed out easily.',
|
207
|
+
'Will not probe deeply into a subject.',
|
208
|
+
'Continue until everything is perfect.',
|
209
|
+
'Am easily disturbed.',
|
210
|
+
'Am not interested in abstract ideas.',
|
211
|
+
'Am relaxed most of the time.',
|
212
|
+
'Get caught up in my problems.',
|
213
|
+
"Sympathize with others' feelings.",
|
214
|
+
'Am on good terms with nearly everyone.',
|
215
|
+
'Find it difficult to get down to work.',
|
216
|
+
"Feel others' emotions.",
|
217
|
+
"Am not interested in other people's problems.",
|
218
|
+
'Do not have a good imagination.',
|
219
|
+
'Am the life of the party.',
|
220
|
+
'Like order.',
|
221
|
+
'Make a mess of things.',
|
222
|
+
'Get chores done right away.',
|
223
|
+
'Feel little concern for others.',
|
224
|
+
'Take offense easily.',
|
225
|
+
'Get angry easily.',
|
226
|
+
"Don't mind being the center of attention.",
|
227
|
+
"Inquire about others' well-being.",
|
228
|
+
'Am hard to get to know.',
|
229
|
+
'Am interested in people.',
|
230
|
+
'Am good at many things.',
|
231
|
+
'Worry about things.',
|
232
|
+
'Find it difficult to approach others.',
|
233
|
+
'Am a very private person.',
|
234
|
+
'Have a soft heart.',
|
235
|
+
'Keep in the background.',
|
236
|
+
'Love children.',
|
237
|
+
'Am quick to understand things.',
|
238
|
+
"Don't like to draw attention to myself.",
|
239
|
+
'Avoid difficult reading material.',
|
240
|
+
'Take charge.',
|
241
|
+
'Think of others first.',
|
242
|
+
'Make people feel at ease.',
|
243
|
+
'Wait for others to lead the way.',
|
244
|
+
'Know how to comfort others.',
|
245
|
+
'Seldom feel blue.',
|
246
|
+
'Bottle up my feelings.',
|
247
|
+
'Am not easily bothered by things.',
|
248
|
+
'Am full of ideas.',
|
249
|
+
'Am indifferent to the feelings of others.',
|
250
|
+
'Shirk my duties.',
|
251
|
+
'Pay attention to details.',
|
252
|
+
'Rarely get irritated.',
|
253
|
+
'Get overwhelmed by emotions.',
|
254
|
+
'Have difficulty understanding abstract ideas.',
|
255
|
+
'Have a rich vocabulary.',
|
256
|
+
'Am always prepared.',
|
257
|
+
'Do things according to a plan.',
|
258
|
+
'Take time out for others.'
|
259
|
+
]
|
260
|
+
|
261
|
+
def result
|
262
|
+
fail 'Not ready yet!' unless self.finished?
|
263
|
+
|
264
|
+
ex = self.Q61 + self.Q26 + self.Q10 + self.Q1 +
|
265
|
+
self.Q68 + self.Q9 + self.Q82 + self.Q3 +
|
266
|
+
self.Q18 +
|
267
|
+
Question::Answer.reverse_scale(self.Q20) +
|
268
|
+
Question::Answer.reverse_scale(self.Q4) +
|
269
|
+
Question::Answer.reverse_scale(self.Q77) +
|
270
|
+
Question::Answer.reverse_scale(self.Q5) +
|
271
|
+
Question::Answer.reverse_scale(self.Q80) +
|
272
|
+
Question::Answer.reverse_scale(self.Q12) +
|
273
|
+
Question::Answer.reverse_scale(self.Q74) +
|
274
|
+
Question::Answer.reverse_scale(self.Q23) +
|
275
|
+
Question::Answer.reverse_scale(self.Q88) +
|
276
|
+
Question::Answer.reverse_scale(self.Q75) +
|
277
|
+
Question::Answer.reverse_scale(self.Q85)
|
278
|
+
agr = self.Q71 + self.Q55 + self.Q76 + self.Q100 +
|
279
|
+
self.Q58 + self.Q84 + self.Q69 + self.Q86 +
|
280
|
+
self.Q78 + self.Q56 + self.Q42 + self.Q34 +
|
281
|
+
self.Q83 + self.Q44 +
|
282
|
+
Question::Answer.reverse_scale(self.Q24) +
|
283
|
+
Question::Answer.reverse_scale(self.Q59) +
|
284
|
+
Question::Answer.reverse_scale(self.Q65) +
|
285
|
+
Question::Answer.reverse_scale(self.Q47) +
|
286
|
+
Question::Answer.reverse_scale(self.Q70) +
|
287
|
+
Question::Answer.reverse_scale(self.Q91)
|
288
|
+
cons = self.Q98 + self.Q93 + self.Q64 + self.Q62 +
|
289
|
+
self.Q11 + self.Q46 + self.Q99 + self.Q50 +
|
290
|
+
self.Q36 + self.Q25 + self.Q2 +
|
291
|
+
Question::Answer.reverse_scale(self.Q37) +
|
292
|
+
Question::Answer.reverse_scale(self.Q63) +
|
293
|
+
Question::Answer.reverse_scale(self.Q8) +
|
294
|
+
Question::Answer.reverse_scale(self.Q92) +
|
295
|
+
Question::Answer.reverse_scale(self.Q6) +
|
296
|
+
Question::Answer.reverse_scale(self.Q32) +
|
297
|
+
Question::Answer.reverse_scale(self.Q33) +
|
298
|
+
Question::Answer.reverse_scale(self.Q57) +
|
299
|
+
Question::Answer.reverse_scale(self.Q13)
|
300
|
+
emo = self.Q53 + self.Q87 + self.Q89 + self.Q94 +
|
301
|
+
self.Q35 + Question::Answer.reverse_scale(self.Q48) +
|
302
|
+
Question::Answer.reverse_scale(self.Q73) +
|
303
|
+
Question::Answer.reverse_scale(self.Q51) +
|
304
|
+
Question::Answer.reverse_scale(self.Q43) +
|
305
|
+
Question::Answer.reverse_scale(self.Q4) +
|
306
|
+
Question::Answer.reverse_scale(self.Q38) +
|
307
|
+
Question::Answer.reverse_scale(self.Q27) +
|
308
|
+
Question::Answer.reverse_scale(self.Q21) +
|
309
|
+
Question::Answer.reverse_scale(self.Q67) +
|
310
|
+
Question::Answer.reverse_scale(self.Q7) +
|
311
|
+
Question::Answer.reverse_scale(self.Q45) +
|
312
|
+
Question::Answer.reverse_scale(self.Q95) +
|
313
|
+
Question::Answer.reverse_scale(self.Q66) +
|
314
|
+
Question::Answer.reverse_scale(self.Q54) +
|
315
|
+
Question::Answer.reverse_scale(self.Q30)
|
316
|
+
int = self.Q97 + self.Q22 + self.Q14 + self.Q79 + self.Q15 +
|
317
|
+
self.Q31 + self.Q90 + self.Q29 + self.Q17 + self.Q28 +
|
318
|
+
self.Q19 + self.Q41 + self.Q72 +
|
319
|
+
Question::Answer.reverse_scale(self.Q96) +
|
320
|
+
Question::Answer.reverse_scale(self.Q52) +
|
321
|
+
Question::Answer.reverse_scale(self.Q60) +
|
322
|
+
Question::Answer.reverse_scale(self.Q16) +
|
323
|
+
Question::Answer.reverse_scale(self.Q39) +
|
324
|
+
Question::Answer.reverse_scale(self.Q81) +
|
325
|
+
Question::Answer.reverse_scale(self.Q49)
|
326
|
+
|
327
|
+
[ex, agr, cons, emo, int]
|
328
|
+
end
|
329
|
+
end
|