Class: PollAnswer

Inherits:
ApplicationRecord show all
Defined in:
app/models/poll_answer.rb

Constant Summary collapse

TEXT_LIMIT =
140

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.creation_parametersObject



25
26
27
# File 'app/models/poll_answer.rb', line 25

def self.creation_parameters
  entity_parameters + %i(poll_question_id)
end

.entity_parametersObject



21
22
23
# File 'app/models/poll_answer.rb', line 21

def self.entity_parameters
  %i(image text)
end

Instance Method Details

#change_priority(delta) ⇒ Object

Parameters:

  • delta (Integer)


39
40
41
42
43
44
45
46
47
48
# File 'app/models/poll_answer.rb', line 39

def change_priority(delta)
  new_priority = priority + delta
  adjacent     = self.class.siblings(self).find_by(priority: new_priority)
  if adjacent.is_a?(self.class) && (adjacent.id != id)
    adjacent.update!(priority: priority)
  end
  update(priority: new_priority)

  self.class.siblings(self).map { |e| [e.id, e.priority] }.to_h
end

#editable_by?(user) ⇒ Boolean

Parameters:

  • user (User)

Returns:

  • (Boolean)


30
31
32
# File 'app/models/poll_answer.rb', line 30

def editable_by?(user)
  poll_question.poll.editable_by?(user)
end

#pollObject



34
35
36
# File 'app/models/poll_answer.rb', line 34

def poll
  poll_question&.poll
end