class Qualtrics::Survey

Attributes

creator_id[RW]
id[RW]
last_activated[RW]
last_modified[RW]
responses[RW]
survey_creation_date[RW]
survey_expiration_date[RW]
survey_name[RW]
survey_owner_id[RW]
survey_start_date[RW]
survey_status[RW]
user_first_name[RW]
user_last_name[RW]

Public Class Methods

all(library_id = nil) click to toggle source
# File lib/qualtrics/survey.rb, line 29
def self.all(library_id = nil)
  lib_id = library_id || configuration.default_library_id
  response = get('getSurveys', {'LibraryID' => lib_id})
  if response.success?
    response.result['Surveys'].map do |survey|
      new(underscore_attributes(survey))
    end
  else
    []
  end
end
attribute_map() click to toggle source
# File lib/qualtrics/survey.rb, line 57
def self.attribute_map
  {
    'responses' => :responses,
    'SurveyID' => :id,
    'SurveyName' => :survey_name,
    'SurveyOwnerID' => :survey_owner_id,
    'SurveyStatus' => :survey_status,
    'SurveyStartDate' => :survey_start_date,
    'SurveyExpirationDate' => :survey_expiration_date,
    'SurveyCreationDate' => :survey_creation_date,
    'CreatorID' => :creator_id,
    'LastModified' => :last_modified,
    'LastActivated' => :last_activated,
    'UserFirstName' => :user_first_name,
    'UserLastName' => :user_last_name
  }
end
new(options={}) click to toggle source
# File lib/qualtrics/survey.rb, line 13
def initialize(options={})
  @responses = options[:responses]
  @id = options[:id]
  @survey_name = options[:survey_name]
  @survey_owner_id = options[:survey_owner_id]
  @survey_status = options[:survey_status]
  @survey_start_date = options[:survey_start_date]
  @survey_expiration_date = options[:survey_expiration_date]
  @survey_creation_date = options[:survey_creation_date]
  @creator_id = options[:creator_id]
  @last_modified = options[:last_modified]
  @last_activated = options[:last_activated]
  @user_first_name = options[:user_first_name]
  @user_last_name = options[:user_last_name]
end

Public Instance Methods

activate() click to toggle source
# File lib/qualtrics/survey.rb, line 82
def activate
  response = post('activateSurvey', {
    'SurveyID' => id
  })
  response.success?
end
deactivate() click to toggle source
# File lib/qualtrics/survey.rb, line 89
def deactivate
  response = post('deactivateSurvey', {
    'SurveyID' => id
  })
  response.success?
end
destroy() click to toggle source
# File lib/qualtrics/survey.rb, line 75
def destroy
  response = post('deleteSurvey', {
    'SurveyID' => id
  })
  response.success?
end
retrieve_all_raw_responses(start_date, end_date) click to toggle source
# File lib/qualtrics/survey.rb, line 41
def retrieve_all_raw_responses(start_date, end_date)
  response = get('getLegacyResponseData', {
    'SurveyID' => id,
    'StartDate' => formatted_time(start_date),
    'EndDate' => formatted_time(end_date),
    'Format' => 'CSV',
    'ExportTags' => 1
  })

  if response.status == 200
    response.result
  else
    false
  end
end