Module: Kiba::Extend::Jobs::Reportable

Included in:
DependencyJob, DynamicJobable, Runnable
Defined in:
lib/kiba/extend/jobs/reportable.rb

Overview

Mixin methods for reporting

Since:

  • 2.2.0

Instance Method Summary collapse

Instance Method Details

#desc_and_tagsObject

Since:

  • 2.2.0



84
85
86
87
88
89
# File 'lib/kiba/extend/jobs/reportable.rb', line 84

def desc_and_tags
  parts = [job_data.desc, tags].compact
  return if parts.empty?

  parts.join(" -- ")
end

#get_durationObject

Since:

  • 2.2.0



122
123
124
125
126
127
128
129
130
# File 'lib/kiba/extend/jobs/reportable.rb', line 122

def get_duration
  return "" if @dependency

  minutes = (@duration / 60).floor
  seconds = (@duration - (minutes * 60)).ceil
  "#{minutes}m #{seconds}s"
rescue
  ""
end

#minimal_endObject

silent

Since:

  • 2.2.0



78
79
80
81
82
# File 'lib/kiba/extend/jobs/reportable.rb', line 78

def minimal_end
  puts row_report
  puts "-=-=-=-=-=-=-=-=-=-=-=-"
  puts ""
end

#minimal_startObject

Since:

  • 2.2.0



57
58
59
60
# File 'lib/kiba/extend/jobs/reportable.rb', line 57

def minimal_start
  puts "\n-=-=-=-=-=-=-=-=-=-=-=-"
  puts start_and_def
end

#normal_endObject

Since:

  • 2.2.0



70
71
72
73
74
75
# File 'lib/kiba/extend/jobs/reportable.rb', line 70

def normal_end
  puts "\n#{row_report} written to #{job_data.path} in #{get_duration}"
  puts "NOTE: #{job_data.message.upcase}" if job_data.message
  puts "-=-=-=-=-=-=-=-=-=-=-=-"
  puts ""
end

#normal_startObject

Since:

  • 2.2.0



50
51
52
53
54
55
# File 'lib/kiba/extend/jobs/reportable.rb', line 50

def normal_start
  puts "\n-=-=-=-=-=-=-=-=-=-=-=-"
  puts start_and_def
  puts desc_and_tags
  puts ""
end

#put_file_detailsObject

Since:

  • 2.2.0



91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/kiba/extend/jobs/reportable.rb', line 91

def put_file_details
  puts "SOURCES"
  files[:source].each { |src| puts "source #{src.klass} #{src.args}" }
  puts "DESTINATIONS"
  files[:destination].each do |dest|
    puts "destination #{dest.klass} #{dest.args}"
  end
  if files[:lookup]
    puts "LOOKUPS"
    files[:lookup].each { |lkup| puts "lookup #{lkup.args}" }
  end
  puts ""
end

#report_run_endObject

Since:

  • 2.2.0



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/kiba/extend/jobs/reportable.rb', line 25

def report_run_end
  @duration = Time.now - @start unless @dependency
  case Kiba::Extend.job_verbosity
  when :debug
    verbose_end
    nil
  when :verbose
    verbose_end
    nil
  when :minimal
    minimal_end
    nil
  else
    normal_end
  end
end

#report_run_startObject

Since:

  • 2.2.0



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/kiba/extend/jobs/reportable.rb', line 8

def report_run_start
  @start = Time.now unless @dependency
  case Kiba::Extend.job_verbosity
  when :debug
    verbose_start
    nil
  when :verbose
    verbose_start
    nil
  when :minimal
    minimal_start
    nil
  else
    normal_start
  end
end

#row_reportObject

Since:

  • 2.2.0



105
# File 'lib/kiba/extend/jobs/reportable.rb', line 105

def row_report = [outrows, srcrows].compact.join(" of ")

#start_and_defObject

Since:

  • 2.2.0



111
112
113
# File 'lib/kiba/extend/jobs/reportable.rb', line 111

def start_and_def
  "#{start_label}: #{job_data.key} -- defined in: #{job_data.creator}"
end

#start_labelObject

Since:

  • 2.2.0



107
108
109
# File 'lib/kiba/extend/jobs/reportable.rb', line 107

def start_label
  @dependency ? "->Starting dependency job" : "Starting job"
end

#tagsObject

Since:

  • 2.2.0



115
116
117
118
119
120
# File 'lib/kiba/extend/jobs/reportable.rb', line 115

def tags
  tags = job_data.tags
  return unless tags

  "tags: [#{tags.join(", ")}]"
end

#verbose_endObject

Since:

  • 2.2.0



62
63
64
65
66
67
68
# File 'lib/kiba/extend/jobs/reportable.rb', line 62

def verbose_end
  puts "\n#{job_data.key} complete (#{get_duration})"
  puts "#{row_report} written to #{job_data.path}"
  puts "NOTE: #{job_data.message.upcase}" if job_data.message
  puts "-=-=-=-=-=-=-=-=-=-=-=-"
  puts ""
end

#verbose_startObject

Since:

  • 2.2.0



42
43
44
45
46
47
48
# File 'lib/kiba/extend/jobs/reportable.rb', line 42

def verbose_start
  puts "\n-=-=-=-=-=-=-=-=-=-=-=-"
  puts start_and_def
  puts desc_and_tags
  puts ""
  put_file_details
end