Class: Rapidfire::QuestionForm

Inherits:
BaseService show all
Defined in:
app/services/rapidfire/question_form.rb

Constant Summary collapse

AVAILABLE_QUESTIONS =
[
 Rapidfire::Questions::Checkbox,
 Rapidfire::Questions::Date,
 Rapidfire::Questions::Long,
 Rapidfire::Questions::Numeric,
 Rapidfire::Questions::Radio,
 Rapidfire::Questions::Select,
 Rapidfire::Questions::Short,
]
QUESTION_TYPES =
AVAILABLE_QUESTIONS.inject({}) do |result, question|
  question_name = question.to_s.split("::").last
  result[question_name] = question.to_s
  result
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from BaseService

#persisted

Constructor Details

#initialize(params = {}) ⇒ QuestionForm

Returns a new instance of QuestionForm.



31
32
33
34
35
# File 'app/services/rapidfire/question_form.rb', line 31

def initialize(params = {})
  from_question_to_attributes(params[:question]) if params[:question]
  super(params)
  @question ||= question_group.questions.new
end

Instance Attribute Details

#answer_greater_than_or_equal_toObject

Returns the value of attribute answer_greater_than_or_equal_to.



20
21
22
# File 'app/services/rapidfire/question_form.rb', line 20

def answer_greater_than_or_equal_to
  @answer_greater_than_or_equal_to
end

#answer_less_than_or_equal_toObject

Returns the value of attribute answer_less_than_or_equal_to.



20
21
22
# File 'app/services/rapidfire/question_form.rb', line 20

def answer_less_than_or_equal_to
  @answer_less_than_or_equal_to
end

#answer_maximum_lengthObject

Returns the value of attribute answer_maximum_length.



20
21
22
# File 'app/services/rapidfire/question_form.rb', line 20

def answer_maximum_length
  @answer_maximum_length
end

#answer_minimum_lengthObject

Returns the value of attribute answer_minimum_length.



20
21
22
# File 'app/services/rapidfire/question_form.rb', line 20

def answer_minimum_length
  @answer_minimum_length
end

#answer_optionsObject

Returns the value of attribute answer_options.



20
21
22
# File 'app/services/rapidfire/question_form.rb', line 20

def answer_options
  @answer_options
end

#answer_presenceObject

Returns the value of attribute answer_presence.



20
21
22
# File 'app/services/rapidfire/question_form.rb', line 20

def answer_presence
  @answer_presence
end

#questionObject

Returns the value of attribute question.



20
21
22
# File 'app/services/rapidfire/question_form.rb', line 20

def question
  @question
end

#question_groupObject

Returns the value of attribute question_group.



20
21
22
# File 'app/services/rapidfire/question_form.rb', line 20

def question_group
  @question_group
end

#question_textObject

Returns the value of attribute question_text.



20
21
22
# File 'app/services/rapidfire/question_form.rb', line 20

def question_text
  @question_text
end

#typeObject

Returns the value of attribute type.



20
21
22
# File 'app/services/rapidfire/question_form.rb', line 20

def type
  @type
end

Instance Method Details

#saveObject



37
38
39
# File 'app/services/rapidfire/question_form.rb', line 37

def save
  @question.new_record? ? create_question : update_question
end

#to_modelObject



27
28
29
# File 'app/services/rapidfire/question_form.rb', line 27

def to_model
  question
end