Method: Task.task

Defined in:
lib/models/task.rb

.task(task_name) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/models/task.rb', line 13

def self.task(task_name)
  base_attributes = { :name => task_name, :user_id => Rtt.current_user.id, :date => Date.today, :rate => (Rtt.current_project.rate if Rtt.current_project.present?) }
  if task_name.nil?
    existing_task = Task.where(:active => true).first
    if existing_task
      existing_task
    else
      base_attributes.merge!(:name => DEFAULT_NAME) if task_name.blank?
      Task.create(base_attributes)
    end
  elsif (existing_task = Task.where(base_attributes).where(Task.arel_table[:start_at].gt(Date.today.beginning_of_day)).first).present?
    existing_task
  else
    Task.create(base_attributes)
  end
end