rubyのexerbにD&DでFTPアップロード
4月 21st, 2009 admin Posted in Ruby |
exerbを使ってファイルをドラッグアンドドロップしたらあらかじめ指定したディレクトリにFTPでアップロードするスクリプト。
コード
put.rb
RUBY:
-
require 'yaml'
-
require 'net/ftp'
-
-
config = "config.yaml"
-
if defined? ExerbRuntime
-
config = File.expand_path(config, File.dirname(ExerbRuntime.filepath))
-
end
-
config = YAML.load(File.read(config))
-
-
-
ftp = Net::FTP.new(config['host'],config['user'],config['passwd'])
-
ftp.binary = true
-
ftp.chdir(config['dir_name'])
-
ftp.passive = true if config['passive'] == 1
-
-
ARGV.each do |filename|
-
begin
-
ftp.put(filename,File.basename(filename))
-
rescue => e
-
puts "ERROR: #{e}skip #{filename}"
-
end
-
end
config.yaml
CODE:
-
host: example.com
-
user: xxxx
-
passwd: yyyy
-
passive: 1
-
dir_name: /aaa/bbb
exerbの使い方
exerbをインストールしたら
CODE:
-
#レシピファイルの作成
-
>ruby -r exerb/mkexy put.rb
-
#exeファイルの作成
-
>exerb put.exy
ポイント
・exerbで自分自身のファイル名はExerbRuntime.filepathで取得する必要がある
・exerbでドラッグアンドドロップされたファイル名は普通にARGVに入る
参考サイト
・net/ftp - Rubyリファレンスマニュアル
・Greenbear Diary - RubyText 0.1 , Exerb化したexeの置かれているパスを取得する
・ドラッグアンドドロップしたファイルをeuc-jpに変換するRubyスクリプト - 今日は長閑にtamago_girai
・Exerb Project
・FTPからのダウンロード - みずぴー日記
Leave a Reply