Class: PollEverywhere::Models::MultipleChoicePoll

Inherits:
Poll
  • Object
show all
Defined in:
lib/polleverywhere/models.rb

Defined Under Namespace

Classes: Option

Instance Attribute Summary

Attributes inherited from Poll

#http

Instance Method Summary collapse

Methods inherited from Poll

all, #archive, #clear, #destroy, #fetch, get, #initialize, #path, #persisted?, #possible_states, #results, #save, #start, #stop

Methods included from Serializable

included

Constructor Details

This class inherits a constructor from PollEverywhere::Models::Poll

Instance Method Details

#optionsObject

Choices for a multiple choice poll



271
272
273
# File 'lib/polleverywhere/models.rb', line 271

def options
  @options ||= []
end

#options=(options) ⇒ Object

Accept an array of options as strings, hashes, or options objects.



276
277
278
279
280
281
282
283
284
285
286
287
288
# File 'lib/polleverywhere/models.rb', line 276

def options=(options)
  @options = options.map do |val|
    case val
    when Option
      val.poll = self
      val
    when Hash
      Option.new(self).from_hash(val)
    else
      Option.new(self).from_hash(:value => val.to_s)
    end
  end
end

#to_hashObject

Add the serialize options hash to the meix



291
292
293
294
295
# File 'lib/polleverywhere/models.rb', line 291

def to_hash
  hash = super
  hash[:multiple_choice_poll][:options] = options.map(&:to_hash)
  hash
end