22 lines
409 B
Ruby
22 lines
409 B
Ruby
module Fundraising
|
|
class Campaign < ApplicationRecord
|
|
has_many :donations
|
|
|
|
def progress_percent
|
|
[(progress.to_f / goal) * 100, 100].min
|
|
end
|
|
|
|
def remaining
|
|
goal - progress
|
|
end
|
|
|
|
def complete?
|
|
progress >= goal
|
|
end
|
|
|
|
def self.current
|
|
self.where(active: true).first or
|
|
raise ActiveRecord::RecordNotFound.new("no current campaign")
|
|
end
|
|
end
|
|
end
|