class Poptart::SurveyQuestion

Attributes

answer[RW]
key[RW]
question_id[RW]
question_type[RW]
responses[RW]
text[RW]

Public Class Methods

find_all(question_id: nil, key: nil, survey_id: nil) click to toggle source
# File lib/poptart/survey_question.rb, line 45
def self.find_all(question_id: nil, key: nil, survey_id: nil)
  if question_id
    query = { question_id: question_id }
  elsif key
    query = { key: key }
  elsif survey_id
    query = { survey_id: survey_id }
  end

  url = root.url(relation: 'survey-questions-by-query', query: query)
  response = get(url)
  JSON.parse(response.body)["survey_questions"].map do |response_body|
    Poptart::SurveyQuestion.new(response_body)
  end
end
new(response) click to toggle source
Calls superclass method Poptart::Model::new
# File lib/poptart/survey_question.rb, line 8
def initialize(response)
  super
  @text = params['text']
  @question_type = params['question_type']
  @responses = params['responses']
  @answer = params['answer']
  @created_at = params['created_at']
  @key = params['key']
  @question_id = params['question_id']

  if @answer == 't'
    @answer = true
  elsif @answer == 'f'
    @answer = false
  end
end

Public Instance Methods

boolean?() click to toggle source
# File lib/poptart/survey_question.rb, line 25
def boolean?
  question_type == "boolean"
end
created_at() click to toggle source
# File lib/poptart/survey_question.rb, line 41
def created_at
  DateTime.parse(@created_at)
end
multiple?() click to toggle source
# File lib/poptart/survey_question.rb, line 29
def multiple?
  question_type == "multiple"
end
range?() click to toggle source
# File lib/poptart/survey_question.rb, line 33
def range?
  question_type == "range"
end
submit() click to toggle source
# File lib/poptart/survey_question.rb, line 61
def submit
  url = url(method: 'PUT', relation: 'self')
  response = put(url,
    {
      'id' => id,
      'survey_question' => {
        'answer' => answer
      }
    }
  )
  response.status == 204
end
time?() click to toggle source
# File lib/poptart/survey_question.rb, line 37
def time?
  question_type == "time"
end