人気ブログランキング | 話題のタグを見る

snippet picker

スニペットをデータベース化するスクリプト pick.rb を作った。

コマンドラインで ruby pick.rb foo.rb とすると、foo.rb というスニペットをデータベースに取りこめる。ruby pick.rb list とすると、データベース化されたスニペットの名前のリストがとれる。ruby pick.rb extract foo.rb > bar.rb とすると foo.rb という名前のスニペットをデータベースから抽出して bar.rb というファイルにコピーできる。

細かい条件での抽出がやりたいときは、sqlite3 picker.db として、sqlite3 で検索できる。

sqlite3 はデータベースを一個のファイルにできるので、気楽にデータ保存の媒体として扱うことができる。

ファイル名: pick.rb

if !File.exist?('picker.db')
  system "sqlite3 picker.db \"create table snippets(name text,
 code text)\""
end
name = ARGV.shift
if name == "list"
  system "sqlite3 picker.db \"select name from snippets\""
elsif name == "extract"
  name = ARGV.shift
  system "sqlite3 picker.db \"select code from snippets where name = '#{name}'\""
else
  code = IO.read(name).gsub(/'/, "''").gsub(/\\/,'\\').gsub(/"/, '\"')
  system "sqlite3 picker.db \"insert into snippets values('#{name}', '#{code}')\""
end

ブログの表示の制限で2行目を折り返して表示しているが一行にして使ってください。
by tnomura9 | 2008-10-08 08:20 | Ruby | Comments(0)
<< sqlite3 の使い方 SQLite Tutorial >>