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,
 Rapidfire::Questions::Information,
 Rapidfire::Questions::File,
 Rapidfire::Questions::MultiFile,
]
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

Constructor Details

#initialize(params = {}) ⇒ QuestionForm

Returns a new instance of QuestionForm.



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

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

Instance Attribute Details

#answer_greater_than_or_equal_toObject

Returns the value of attribute answer_greater_than_or_equal_to.



23
24
25
# File 'app/services/rapidfire/question_form.rb', line 23

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.



23
24
25
# File 'app/services/rapidfire/question_form.rb', line 23

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.



23
24
25
# File 'app/services/rapidfire/question_form.rb', line 23

def answer_maximum_length
  @answer_maximum_length
end

#answer_minimum_lengthObject

Returns the value of attribute answer_minimum_length.



23
24
25
# File 'app/services/rapidfire/question_form.rb', line 23

def answer_minimum_length
  @answer_minimum_length
end

#answer_optionsObject

Returns the value of attribute answer_options.



23
24
25
# File 'app/services/rapidfire/question_form.rb', line 23

def answer_options
  @answer_options
end

#answer_presenceObject

Returns the value of attribute answer_presence.



23
24
25
# File 'app/services/rapidfire/question_form.rb', line 23

def answer_presence
  @answer_presence
end

#default_textObject

Returns the value of attribute default_text.



23
24
25
# File 'app/services/rapidfire/question_form.rb', line 23

def default_text
  @default_text
end

#placeholderObject

Returns the value of attribute placeholder.



23
24
25
# File 'app/services/rapidfire/question_form.rb', line 23

def placeholder
  @placeholder
end

#positionObject

Returns the value of attribute position.



23
24
25
# File 'app/services/rapidfire/question_form.rb', line 23

def position
  @position
end

#questionObject

Returns the value of attribute question.



23
24
25
# File 'app/services/rapidfire/question_form.rb', line 23

def question
  @question
end

#question_textObject

Returns the value of attribute question_text.



23
24
25
# File 'app/services/rapidfire/question_form.rb', line 23

def question_text
  @question_text
end

#surveyObject

Returns the value of attribute survey.



23
24
25
# File 'app/services/rapidfire/question_form.rb', line 23

def survey
  @survey
end

#typeObject

Returns the value of attribute type.



23
24
25
# File 'app/services/rapidfire/question_form.rb', line 23

def type
  @type
end

Instance Method Details

#saveObject



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

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