Skip to content

Instantly share code, notes, and snippets.

@hyuki0000
Last active April 30, 2017 10:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hyuki0000/a099b3ec0a47b55fb0e2019095e9d634 to your computer and use it in GitHub Desktop.
Save hyuki0000/a099b3ec0a47b55fb0e2019095e9d634 to your computer and use it in GitHub Desktop.
depot-create.rb - ちょっと作業したいときに、現在日時を元にディレクトリを作り、ベースとなるディレクトリからファイルを一式コピーし、そこにシンボリックリンクでニックネームを付けるRubyスクリプト

depot-create.rb

depot-create.rb - ちょっと作業したいときに、現在日時を元にディレクトリを作り、ベースとなるディレクトリからファイルを一式コピーし、そこにシンボリックリンクでニックネームを付けるRubyスクリプト

動機

何ができるかまだよくわからない段階で作業したいときの作業場がほしい。

使い方

  1. base ディレクトリを作り毎回使うファイル一式を入れておく。
  2. ruby depot-create.rbを実行する。
  3. すると、20170430192512 というディレクトリが作られ、さらにそのディレクトリに nickname-20170430192512 というシンボリックリンクが張られる。
  4. nickname-20170430192512 を自分の好きな名前に直して作業する。
#! /usr/bin/env ruby
# -*- coding: UTF-8 -*-
# vim: set filetype=ruby:
BASE_DIR = 'base'
# 現在時刻をidにする
id = Time.now.strftime("%Y%m%d%H%M%S")
# ディレクトリ作る
cmd = "mkdir #{id}"
puts cmd
system(cmd)
# ベースからコピーする
if File.directory?(BASE_DIR)
system("cp -r base/* #{id}")
else
puts "Warning: no #{BASE_DIR}"
end
# ニックネーム作る
nickname = "nickname-#{id}"
system("ln -s #{id} #{nickname}")
puts "#{nickname} is created."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment