Module: RakeAnnouncer

Defined in:
lib/rake_announcer.rb,
lib/rake_announcer/version.rb,
lib/rake_announcer/rake_task.rb

Defined Under Namespace

Classes: Error, RakeTask

Constant Summary collapse

VERSION =
"1.2.0"

Class Method Summary collapse

Class Method Details

.announce(message) ⇒ Object



22
23
24
# File 'lib/rake_announcer.rb', line 22

def self.announce(message)
  puts "\n#{Term::ANSIColor.blue}#{Term::ANSIColor.underline}● #{message}#{Term::ANSIColor.reset}"
end

.announce_rake_task(task_name, prepend: false) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/rake_announcer.rb', line 10

def self.announce_rake_task(task_name, prepend: false)
  announce_task = Rake::Task.define_task("announce_#{task_name}") do
    RakeAnnouncer.announce("Running #{task_name}")
  end

  if prepend
    Rake::Task[task_name].prereqs.prepend(announce_task.name)
  else
    Rake::Task[task_name].enhance([announce_task.name])
  end
end

.ok(message = "ALL TESTS PASSED") ⇒ Object

rubocop:disable Metrics/MethodLength



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/rake_announcer.rb', line 27

def self.ok(message = "ALL TESTS PASSED")
  puts
  print Term::ANSIColor.bold,
        Term::ANSIColor.red,     "*",
        Term::ANSIColor.yellow,  "*",
        Term::ANSIColor.green,   "*",
        Term::ANSIColor.blue,    "*",
        Term::ANSIColor.magenta, "*",
        Term::ANSIColor.green,   " #{message} ",
        Term::ANSIColor.magenta, "*",
        Term::ANSIColor.blue,    "*",
        Term::ANSIColor.green,   "*",
        Term::ANSIColor.yellow,  "*",
        Term::ANSIColor.red,     "*",
        Term::ANSIColor.clear
  puts
end