6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

第8回 :: rake,ruby_fourth

Last updated at Posted at 2020-12-10

!Mac OS X-10.15.7 !ruby-2.7.1p83$

rake

rakeとはmakeやantのruby版.rakeファイルに書かれていることを自動で処理する.

今までやったことなかったけど結構便利やった.

典型的な例は

task :default do
  system 'rake -T'
  exit
end

desc 'hello NAME'
task :hello do
  name = ARGV[1]
  puts "Hello #{name}!"
  exit
end

これをRakeファイルに入力

> rake

上記のようにコマンドを入力して実行すると,

rake hello  # hello NAME

って出力される.

Rakeファイルの詳しい記述法

  • descの後にはrake -Tとした時の説明文(description)
  • :defaultはrakeが引数なしで呼ばれた時の動作,
  • それ以外はoptionで呼ばれるtaskの名前
  • taskの中には標準のruby言語で,動作を記述

Rakeを実用的に使う

gitであげたり(push)引っ張ってきたりする(pull)ときのコマンドっていちいち打つのが面倒くさい.やから自動化しよう

desc 'git push'
task :push do
  p comm = "git add -A"
  system comm
  p comm = "git commit -m \'hoge\'"
  system comm
  p comm = "git pull origin main"
  system comm
  p comm = "git push origin main"
  system comm
  exit
end

こんな感じで,Rakefileに覚えさせると楽.

もうちょっときれいに書いたほうがいいらしい以下のコードは下記のサイトを参照チャート式ruby-appendix-rake

desc 'git push'
task :push2 do
  ["git add -A",
   "git commit -m \'hoge\'",
   "git pull origin main",
   "git push origin main"].each do |comm|
    p comm  #puts comm.green after require 'colorize' 
    system comm
  end
  exit
end

これめっちゃ便利やけど上のコードやと毎回コミットメッセージがhogeになるからARGVとか使ってメッセージを自由に変更したりできたらかなり実践でも使えると思う.今回はやらないけど毎回コミットメッセージが同じはちょっとね…


  • source ~/grad_members_20f/members/okamoto0910/article/c8.org
6
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?