Class: Dorsale::Flyboy::Folder

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
AASM, Search
Defined in:
app/models/dorsale/flyboy/folder.rb

Instance Method Summary collapse

Methods included from Search

included

Constructor Details

#initialize(*args) ⇒ Folder

Returns a new instance of Folder.



35
36
37
38
# File 'app/models/dorsale/flyboy/folder.rb', line 35

def initialize(*args)
  super
  self.progress = 0 if progress.nil?
end

Instance Method Details

#create_trackingObject



50
51
52
53
# File 'app/models/dorsale/flyboy/folder.rb', line 50

def create_tracking
  dailycounter  = Folder.where("DATE(created_at) = ?", Date.today).count + 1
  self.tracking = "#{Time.now.strftime("%y%m%d")}-#{dailycounter}"
end

#no_undone_tasks?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'app/models/dorsale/flyboy/folder.rb', line 40

def no_undone_tasks?
  tasks.where(done: false).count == 0
end

#revisionObject



44
45
46
# File 'app/models/dorsale/flyboy/folder.rb', line 44

def revision
  "#{tracking} #{version}"
end

#update_progressObject



62
63
64
65
66
67
68
# File 'app/models/dorsale/flyboy/folder.rb', line 62

def update_progress
  if tasks.count.zero?
    self.progress = 0
  else
    self.progress = tasks.sum(:progress) / tasks.count
  end
end

#update_progress!Object



70
71
72
73
# File 'app/models/dorsale/flyboy/folder.rb', line 70

def update_progress!
  update_progress
  save
end

#update_versionObject



57
58
59
60
# File 'app/models/dorsale/flyboy/folder.rb', line 57

def update_version
  self.version = 0 if self.version.nil?
  self.version = self.version + 1
end