Szybka pomoc

Ściągawka z narzędzia do budowania Rake

Szybki przewodnik po Ruby Rake: definiowanie zadań, przestrzenie nazw, zależności, argumenty zadań i zadania plikowe.

· Opublikowano

Rake to narzędzie do automatyzacji zadań (podobne do Make) w Ruby, wykorzystujące standardową składnię Ruby do definiowania procesów.

Podstawowa składnia zadań

W pliku Rakefile:

desc "Run all project test suites"
task :test do
  puts "Running tests..."
end

# Zadanie z zależnościami wstępnymi
task deploy: [:test, :build] do
  puts "Deploying application..."
end

# Domyślne zadanie uruchamiane przez samo `rake`
task default: :test

Przestrzenie nazw (Namespaces)

Logiczne grupowanie powiązanych zadań:

namespace :db do
  desc "Run database migrations"
  task :migrate do
    puts "Migrating database..."
  end

  desc "Rollback previous migration"
  task :rollback do
    puts "Rolling back..."
  end
end

# Uruchomienie w terminalu: rake db:migrate

Argumenty zadań

desc "Send digest email to user by ID"
task :send_digest, [:user_id] do |_, args|
  puts "Sending digest to user #{args[:user_id]}"
end

# Uruchomienie w terminalu: rake send_digest[42]

Zadania plikowe (File Tasks)

Zadania plikowe uruchamiają się tylko wtedy, gdy plik docelowy nie istnieje lub źródła są nowsze:

file "dist/bundle.js" => ["src/app.js", "src/utils.js"] do
  sh "esbuild src/app.js --bundle --outfile=dist/bundle.js"
end

Materiały referencyjne

Powiązane tematy