Module: ActiveRecordSurveyApi::Concerns::Controllers::NodeMapGroups

Extended by:
ActiveSupport::Concern
Included in:
NodeMapGroupsController, Concerns::Controllers::NodeMapGroups
Defined in:
lib/active_record_survey_api/concerns/controllers/node_map_groups.rb

Instance Method Summary collapse

Instance Method Details

#all_node_map_groupsObject



19
20
21
# File 'lib/active_record_survey_api/concerns/controllers/node_map_groups.rb', line 19

def all_node_map_groups
	@survey.node_map_groups
end

#createObject



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/active_record_survey_api/concerns/controllers/node_map_groups.rb', line 7

def create
	@node_map_group = new_node_map_group
	@node_map_group.survey = @survey
	@node_map_group.attributes = node_map_group_params

	if !@node_map_group.save
		render json: JSONAPI::Serializer.serialize_errors(@node_map_group.errors), :status => 409
	else
		render json: serialize_model(@node_map_group, serializer: ActiveRecordSurveyApi::NodeMapGroupSerializer)
	end
end

#find_surveyObject



47
48
49
# File 'lib/active_record_survey_api/concerns/controllers/node_map_groups.rb', line 47

def find_survey
	self.instance_variable_set "@survey", ActiveRecordSurvey::Survey.find(params[:survey_id])
end

#json_paramsObject



31
32
33
# File 'lib/active_record_survey_api/concerns/controllers/node_map_groups.rb', line 31

def json_params
	ActionController::Parameters.new(JSON.parse(request.body.read))
end

#new_node_map_group(p = nil) ⇒ Object



27
28
29
# File 'lib/active_record_survey_api/concerns/controllers/node_map_groups.rb', line 27

def new_node_map_group(p = nil)
	ActiveRecordSurvey::NodeMapGroup.new(p)
end

#node_map_group_by_id(id) ⇒ Object



23
24
25
# File 'lib/active_record_survey_api/concerns/controllers/node_map_groups.rb', line 23

def node_map_group_by_id(id)
	ActiveRecordSurvey::NodeMapGroup.find(id)
end

#node_map_group_paramsObject



35
36
37
38
39
40
41
# File 'lib/active_record_survey_api/concerns/controllers/node_map_groups.rb', line 35

def node_map_group_params
	json_params.require(:node_map_group).permit(:text, questions: []).tap { |whitelisted|
		whitelisted[:build_from_questions] = whitelisted[:questions] unless whitelisted[:questions].nil?

		whitelisted.delete(:questions)
	}
end