osem-fcy/app/models/call_for_papers.rb

37 lines
888 B
Ruby
Raw Normal View History

2013-01-07 09:04:09 +01:00
class CallForPapers < ActiveRecord::Base
attr_accessible :start_date, :end_date,
2014-05-14 16:37:19 +02:00
:description, :schedule_changes, :rating,
:schedule_public, :include_cfp_in_splash
2013-01-07 09:04:09 +01:00
belongs_to :conference
validates_presence_of :start_date, :end_date
2014-07-21 14:49:05 +02:00
validates :rating, numericality: { greater_than_or_equal_to: 0, less_than_or_equal_to: 10 }
2013-01-07 09:04:09 +01:00
##
# Calculates how many weeks the call for paper is.
#
# ====Returns
# * +Integer+ -> start week
def weeks
result = end_week - start_week + 1
weeks = Date.new(start_date.year, 12, 31).strftime('%W').to_i
result < 0 ? result + weeks : result
end
##
# Calculates the end week of the cfp
#
# ====Returns
def start_week
start_date.strftime('%W').to_i
end
##
# Calculates the end week of the cfp
#
# ====Returns
def end_week
end_date.strftime('%W').to_i
end
2013-08-16 16:09:29 +03:00
end