Class: Support::Rake::TaskLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/support/rake/task_logger.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(task) ⇒ TaskLogger

Returns a new instance of TaskLogger.



22
23
24
25
26
# File 'lib/support/rake/task_logger.rb', line 22

def initialize(task)
  @file_path = "#{logs_dir}/#{task.name.gsub(%r{[:\s/.]+}, '-')}.log"

  create_logs_dir!
end

Instance Attribute Details

#file_pathObject (readonly)

Returns the value of attribute file_path.



20
21
22
# File 'lib/support/rake/task_logger.rb', line 20

def file_path
  @file_path
end

Class Method Details

.currentObject



12
13
14
# File 'lib/support/rake/task_logger.rb', line 12

def self.current
  Thread.current[:gdk_task_logger]
end

.set_current!(logger) ⇒ Object



8
9
10
# File 'lib/support/rake/task_logger.rb', line 8

def self.set_current!(logger)
  Thread.current[:gdk_task_logger] = logger
end

.start_timeObject



16
17
18
# File 'lib/support/rake/task_logger.rb', line 16

def self.start_time
  @start_time ||= Time.now
end

Instance Method Details

#cleanup!(delete: true) ⇒ Object



32
33
34
35
36
37
# File 'lib/support/rake/task_logger.rb', line 32

def cleanup!(delete: true)
  return if @file&.closed?

  File.delete(@file_path) if @file&.size === 0 && delete
  @file&.close
end

#fileObject



28
29
30
# File 'lib/support/rake/task_logger.rb', line 28

def file
  @file ||= File.open(@file_path, 'w')
end