Module: ActiveRecordSurveyApi::Concerns::Controllers::Answers
- Extended by:
- ActiveSupport::Concern
- Included in:
- AnswersController, Concerns::Controllers::Answers
- Defined in:
- lib/active_record_survey_api/concerns/controllers/answers.rb
Instance Method Summary collapse
- #all_answers ⇒ Object
- #answer_by_id(id) ⇒ Object
- #answer_params ⇒ Object
- #find_answer ⇒ Object
- #find_question ⇒ Object
- #find_survey ⇒ Object
- #json_params ⇒ Object
- #new_answer(params) ⇒ Object
Instance Method Details
#all_answers ⇒ Object
7 8 9 |
# File 'lib/active_record_survey_api/concerns/controllers/answers.rb', line 7 def all_answers Answer.all end |
#answer_by_id(id) ⇒ Object
11 12 13 |
# File 'lib/active_record_survey_api/concerns/controllers/answers.rb', line 11 def answer_by_id(id) Answer.find(id) end |
#answer_params ⇒ Object
25 26 27 |
# File 'lib/active_record_survey_api/concerns/controllers/answers.rb', line 25 def answer_params json_params.permit(:type, answer: [:text, nodes: []]) end |
#find_answer ⇒ Object
43 44 45 |
# File 'lib/active_record_survey_api/concerns/controllers/answers.rb', line 43 def find_answer self.instance_variable_set "@answer", ActiveRecordSurvey::Node::Answer.find(params[:answer_id]) end |
#find_question ⇒ Object
39 40 41 |
# File 'lib/active_record_survey_api/concerns/controllers/answers.rb', line 39 def find_question self.instance_variable_set "@question", ActiveRecordSurvey::Node::Question.find(params[:question_id]) end |
#find_survey ⇒ Object
35 36 37 |
# File 'lib/active_record_survey_api/concerns/controllers/answers.rb', line 35 def find_survey self.instance_variable_set "@survey", ActiveRecordSurvey::Survey.find(params[:survey_id]) end |
#json_params ⇒ Object
21 22 23 |
# File 'lib/active_record_survey_api/concerns/controllers/answers.rb', line 21 def json_params ActionController::Parameters.new(JSON.parse(request.body.read)) end |
#new_answer(params) ⇒ Object
15 16 17 18 19 |
# File 'lib/active_record_survey_api/concerns/controllers/answers.rb', line 15 def new_answer(params) klass = "::ActiveRecordSurvey::Node::Answer::#{(params[:type] || "answer").to_s.camelize}".constantize klass.new(params[:answer]) end |