Class: Question

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/question.rb

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Question

Instance Methods



20
21
22
23
# File 'app/models/question.rb', line 20

def initialize(*args)
  super(*args)
  default_args
end

Instance Method Details

#css_class(response_set) ⇒ Object



41
42
43
# File 'app/models/question.rb', line 41

def css_class(response_set)
  [(dependent? ? "dependent" : nil), (triggered?(response_set) ? nil : "hidden"), custom_class].compact.join(" ")
end

#default_argsObject



25
26
27
28
29
# File 'app/models/question.rb', line 25

def default_args
  self.is_mandatory ||= true
  self.display_type ||= "default"
  self.pick ||= "none"
end

#dependent?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'app/models/question.rb', line 35

def dependent?
  self.dependency != nil
end

#mandatory?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'app/models/question.rb', line 31

def mandatory?
  self.is_mandatory == true
end

#part_of_group?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'app/models/question.rb', line 45

def part_of_group?
  !self.question_group.nil?
end

#renderer(g = question_group) ⇒ Object



49
50
51
52
# File 'app/models/question.rb', line 49

def renderer(g = question_group)
  r = [g ? g.renderer.to_s : nil, display_type].compact.join("_")
  r.blank? ? :default : r.to_sym
end

#triggered?(response_set) ⇒ Boolean

Returns:

  • (Boolean)


38
39
40
# File 'app/models/question.rb', line 38

def triggered?(response_set)
  dependent? ? self.dependency.is_met?(response_set) : true
end