class SD3Test

Short Dark Triad Test

Constants

DOC
QUESTIONS

Public Class Methods

parse_mach(mach) click to toggle source
# File lib/jungi/paulhus.rb, line 76
def self.parse_mach(mach)
  if mach < 1.5
    "Strong(#{mach}) Anti-Machivellianism\n"
  elsif mach < 3.1
    "Weak(#{mach}) Anti-Machivellianism\n"
  elsif mach < 4.3
    "Weak(#{mach}) Machivellianism\n"
  else
    "Strong(#{mach}) Machivellianism\n"
  end
end
parse_narc(narc) click to toggle source
# File lib/jungi/paulhus.rb, line 88
def self.parse_narc(narc)
  if narc < 1.5
    "Strong(#{narc}) Anti-Narcissism\n"
  elsif narc < 2.8
    "Weak(#{narc}) Anti-Narcissism\n"
  elsif narc < 4
    "Weak(#{narc}) Narcissism\n"
  else
    "Strong(#{narc}) Narcissism\n"
  end
end
parse_psycho(psycho) click to toggle source
# File lib/jungi/paulhus.rb, line 100
def self.parse_psycho(psycho)
  if psycho < 1.5
    "Strong(#{psycho}) Anti-Psychopathy\n"
  elsif psycho < 2.4
    "Weak(#{psycho}) Anti-Psychopathy\n"
  elsif psycho < 3
    "Weak(#{psycho}) Psychopathy\n"
  else
    "Strong(#{psycho}) Psychopathy\n"
  end
end
parse_result(mach, narc, psycho) click to toggle source
# File lib/jungi/paulhus.rb, line 112
def self.parse_result(mach, narc, psycho)
  mach = (mach.round 1)
  narc = (narc.round 1)
  psycho = (psycho.round 1)
  parse_mach(mach) << parse_narc(narc) << parse_psycho(psycho)
end

Public Instance Methods

result() click to toggle source
# File lib/jungi/paulhus.rb, line 119
def result
  mach = (self.Q24 + self.Q19 + self.Q1 + self.Q2 + self.Q10 +
         self.Q21 + self.Q12 + self.Q22 + self.Q23) / 9.0
  narc = (self.Q9 + Question::Answer.reverse_scale(self.Q18) +
         self.Q8 + self.Q14 + self.Q6 +
         Question::Answer.reverse_scale(self.Q7) +
         self.Q15 + Question::Answer.reverse_scale(self.Q11) + self.Q25) / 9.0
  psycho = (self.Q20 + Question::Answer.reverse_scale(self.Q5) +
         self.Q27 + self.Q4 + self.Q13 + self.Q26 +
         Question::Answer.reverse_scale(self.Q3) + self.Q16 + self.Q17) / 9.0
  [mach, narc, psycho]
end