class Moodwall::Mood

Attributes

current[RW]
name[R]

Public Class Methods

choose_current(name:) click to toggle source
# File lib/moodwall/mood.rb, line 16
def choose_current(name:)
  nullify_current
  choose_new_current(name)
end
current() click to toggle source
# File lib/moodwall/mood.rb, line 12
def current
  all.find { |m| m.current == true }
end
find_by_name(name) click to toggle source
# File lib/moodwall/mood.rb, line 21
def find_by_name(name)
  all.find { |m| m.name.casecmp(name).zero? }
end
list_names() click to toggle source
# File lib/moodwall/mood.rb, line 25
def list_names
  all.map(&:name)
end
new(name:, current: false) click to toggle source
# File lib/moodwall/mood.rb, line 6
def initialize(name:, current: false)
  @name    = name
  @current = current
end

Private Class Methods

choose_new_current(name) click to toggle source
# File lib/moodwall/mood.rb, line 31
def choose_new_current(name)
  new_one = find_by_name(name)
  new_one.current = true
  new_one.save
end
nullify_current() click to toggle source
# File lib/moodwall/mood.rb, line 37
def nullify_current
  previous = current
  unless previous.nil?
    previous.current = false
    previous.save
  end
end