Module: ActiveRecordSurveyApi::Concerns::Controllers::Instances

Extended by:
ActiveSupport::Concern
Included in:
InstancesController, Concerns::Controllers::Instances
Defined in:
lib/active_record_survey_api/concerns/controllers/instances.rb

Instance Method Summary collapse

Instance Method Details

#createObject



24
25
26
27
28
29
# File 'lib/active_record_survey_api/concerns/controllers/instances.rb', line 24

def create
	@instance = new_instance(instance_params)
	@instance.save

	render json: serialize_model(@instance, serializer: ActiveRecordSurveyApi::InstanceSerializer)
end

#destroyObject



17
18
19
20
21
22
# File 'lib/active_record_survey_api/concerns/controllers/instances.rb', line 17

def destroy
	@instance = instance_by_id(params[:id])
	@instance.destroy

	head :no_content
end

#showObject



11
12
13
14
15
# File 'lib/active_record_survey_api/concerns/controllers/instances.rb', line 11

def show
	@instance = instance_by_id(params[:id])

	render json: serialize_model(@instance, serializer: ActiveRecordSurveyApi::InstanceSerializer)
end

#updateObject



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/active_record_survey_api/concerns/controllers/instances.rb', line 31

def update
	@instance = instance_by_id(params[:id])

	update_instance_params = instance_params[:instance]

	# Taking survey with this update - wipe previous entries
	if update_instance_params[:instance_nodes_attributes].length > 0
		@instance.instance_nodes.each { |i|
			i.mark_for_destruction
		}
	end

	@instance.update_attributes(update_instance_params)

	render json: serialize_model(@instance, serializer: ActiveRecordSurveyApi::InstanceSerializer)
end