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



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

def all_node_map_groups
  @survey.node_map_groups
end

#createObject



7
8
9
10
11
12
13
14
15
16
17
18
# 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
  @node_map_group.save

  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



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

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

#json_paramsObject



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

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

#new_node_map_group(p = nil) ⇒ Object



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

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

#node_map_group_by_id(id) ⇒ Object



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

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

#node_map_group_paramsObject



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

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