class Poptart::Survey

Attributes

service_user_id[RW]
survey_questions[RW]

Public Class Methods

all() click to toggle source
# File lib/poptart/survey.rb, line 51
def self.all
  response = get(root.url(relation: 'surveys'))
  JSON.parse(response.body)['surveys'].map do |survey|
    Poptart::Survey.new(survey)
  end
end
create() click to toggle source
# File lib/poptart/survey.rb, line 45
def self.create
  url = root.url(relation: 'surveys', method: 'POST')
  response = post(url)
  Poptart::Survey.new(response)
end
find(id) click to toggle source
# File lib/poptart/survey.rb, line 58
def self.find(id)
  url = root.url(relation: 'surveys', id: id)
  response = get(url)
  Poptart::Survey.new(response)
end
new(response) click to toggle source
Calls superclass method Poptart::Model::new
# File lib/poptart/survey.rb, line 6
def initialize(response)
  super
  @service_user_id = params['service_user_id']
  @completed = params['completed']

  if params['survey_questions']
    @survey_questions = params['survey_questions'].map do |survey_question|
      SurveyQuestion.new(survey_question)
    end
  else
    @survey_questions = []
  end
end

Public Instance Methods

add_survey_question(survey_question) click to toggle source
# File lib/poptart/survey.rb, line 20
def add_survey_question(survey_question)
  url = url(relation: 'survey-questions', method: 'POST')
  response = post(url, {
    'survey_question' => {
      'question_id' => survey_question.question_id,
      'responses' => survey_question.responses
    }
  })
  if response.status == 201
    survey_question = Poptart::SurveyQuestion.new(response)
    survey_questions << survey_question
    survey_question
  end
end
completed?() click to toggle source
# File lib/poptart/survey.rb, line 41
def completed?
  @completed
end
survey_question_for_id(id) click to toggle source
# File lib/poptart/survey.rb, line 35
def survey_question_for_id(id)
  survey_questions.find do |survey_question|
    survey_question.id == id.to_i
  end
end