ruby

windows で ruby が実行されているウィンドウをアクティブにするgem

を作りました。 https://github.com/nazoking/win32-activate gem install win32-activateでインストール出来ます。 ruby -r rubygems -r win32/activate -e "system('notepad.exe');Win32::Activate.active" と実行すると、メモ帳が立ち上がります。そのあ…

cygwinからゴミ箱に捨てるコマンド

これを適当なところにおいて trash.rb hoge.txtみたいにすると捨てられます。ただ内部のcygpathがちょっとバグってて : などが名前に入ってるファイルを捨てることが出来ません助けて!

ドコモの携帯宛メールを転送できるdocomo_web_mailerをリリースしました

Docomo Web Mail というサービスをドコモが行っていて、i-mode宛のメールをwebから閲覧できます。 http://dwmail.jp/ でも転送機能とかがないので、rubyでなんとかするライブラリを作りました。 RubyGems に登録したので、 gem install docomo_web_mailer で…

ipconfig /all を GUIで確認

なんか「Tunnel adapter ローカル エリア接続」とかがいっぱい出すぎでスクロールしちゃうので、アウトラインエディタぽい(言い過ぎ)。 require 'vr/vrcomctl' require 'vr/vrlayout' $confs = [] IO.popen("ipconfig /all","r"){|f| conf=nil f.each_line…

open-uriやnet/http でhosts代わりの動作

なんか分からなかったのでやっつけ class Net::HTTP HOSTS = {} def conn_address() a = HOSTS[@address] || @address end end Net::HTTP::HOSTS['10.1.1.1']='hoge.huga.com' proxyとか通すと使えないかも?vistaだとhostsファイルの書き換えが面倒くさいの…

WindowsでWin32APIのWait*系APIを使う方法を誰か教えてー

Win32APIで WaitForMultipleObjectsとか使ってみたら、Rubyの全スレッドごと止められちゃう… require 'Win32API' WaitMessage = Win32API.new("user32", "WaitMessage", [], 'B') Thread.start{ WaitMessage.call } sleep(1) # スレッドが確実に実行されるよ…

inject2

なんか嫌われ者っぽい injectですが module Enumerable def inject2(r) self.each{|v| yield r,v} r end endこんな定義をしてやると、 [1,2,3,4,5].inject2({}){|result, item| result[item]= item } => {5=>"5", 1=>"1", 2=>"2", 3=>"3", 4=>"4"}こんな風に…

CGI.unescapeHTML の改良

こんなのをRailsの起動時に読み込むようにしてる。多くのHTMLエンティティーへの対応の他、& &などをデコードできるようにしたもの。 require 'cgi' class CGI # HTMLエンティティーの定義 HtmlEntity = Hash[ *%w(nbsp 160 iexcl 161 cent 162 pound 16…

Hpricot からテキストを取り出す

scrAPIよりも使いやすい感じのHpricotですが、「innerText」が上手くHTMLエンティティーを戻してくれないので、違うメソッドをつけてみました。 require "rubygems" require 'hpricot' class Hpricot::Elem def [](a) CGI.unescapeHTML(get_attribute(a)) en…

Ruby/SpiderMonkey

わ、はてなダイアリー市民じゃなくなってたよ! RubyistグループでRuby/SpiderMonkeyモジュール(仮称)作成日記書いてます。 http://rubyist.g.hatena.ne.jp/nazoking/ 名前から見てわかるとおり、RubyからJavaScript(SpiderMonkey)を使うためのモジュー…

Open-URIでHTTPヘッダ指定

open("http://example.com/",'User-Agent'=>'Mozilla/5.0').readそうかー、"r"とかの代わりに渡せばいいんだ…知らなかった ってリファレンスに書いてあるじゃん! ソースを追ってしまった

colinux 経由の ruby-run-script-immediate

rubyの勉強をしようと思ったがwindows上だと何かと不便なのでcoLinux上に環境構築(つってもapt-getだけ)しかしエディタはWindows上でxyzzy使ってるので…irbだといろいろ面倒なので「スクリプトを書く→結果を見る」みたいなことを繰り返して勉強したいとこ…

はてなキーワードのマッチング

日々うろおぼえ記で話題になっていたので、rubyで同じようなものを書いてみた。