Ruby

RubyからGroovyの標準入力に渡して処理させて出力を読む

発端: 一部の処理を Java でやりたい(URLエンコードだかBase64エンコードだかの結果が Java と Ruby で微妙に違うとかで…) ちょろっと使いたいだけなので Groovy でいいんじゃないか? こういうのは JRuby 使った方がいいのかもしれません(使ったことがな…

MySQLの一般ログを見やすく表示するツールを作ってみた(Ruby製)

見にくかったので。http://github.com/sonota/mysql-log-viewer Ruby+WEBrick+CGI とりあえず自分のが手元で見られればよくて、複数人でとかリモートの…とかは考えてない google-code-prettify の prettify.css と prettify.js を置いておくと SQL を構文ハ…

複数のgemに関する情報を表示する

○○がしたい!!!! どんなライブラリがあるか調べよう! gem search ○○ --remote する 名前だけたくさん出てくる… 調べるのめんどくさい………… というわけで適当にやっつけで書いてみました。 require "yaml" require "rubygems/specification" search_word =…

Ruby: 検出フラグをmap+anyで置き換える

# each + 検出フラグ def exclude_by_domain(exclude_url_heads, urls) urls.reject{ |url| match = false exclude_url_heads.each{ |head_re| match = true if head_re =~ url } match } end # map + any def exclude_by_domain_map_and_any(exclude_url_he…

Ruby: クラスはオブジェクト / クラスと普通のオブジェクトを比べてみる

「クラスはオブジェクト」とは言うけれど、そうは言っても、ふだん普通にベタにクラスを使っているときのイメージが邪魔をして???となってしまう。じゃあ普通のオブジェクトと並べてみようか、ということで例 2つ。 Ruby のバージョンは 1.8.7。 new ## 1…

別のインスタンスのprotectedなメソッドの呼び出し

メモ。 class Foo protected def foo puts "foo" end public def bar Foo.new.foo end end # Foo.new.foo #=> protected method `foo' called for #<Foo:0xb77818bc> (NoMethodError) Foo.new.bar #=> foo class Foo protected def foo puts "foo" end end class Bar < Foo d</foo:0xb77818bc>…

Ruby + scrot + cURL + フォト蔵API で Gyazo ごっこ(Linux用)

切実な必要性に駆られたわけではなく、思いついたのでなんとなく脊髄反射的に作って見ました。scrot、cURL、beep、xclip に依存しています(beep は必須ではありません)。エラー処理とかはほとんどやってないです。Windows 向けに修正したいという場合は sc…

日本の国会議員の名前とウェブサイトのURLのリストを得るRubyスクリプト

やっつけです。タブ区切りで標準出力に吐きます。ソースとして政治家WEBリンク集 http://db.kosonippon.org/link/link.phpを使いました。ちなみに 衆議院 480 + 参議院 242 = 722 このスクリプトで得た件数 = 676 です。食い違いの理由については「ウェブサ…

RubyでXPathGraphのようにURLとXPathから数値を取得

XPathGraphだと特定のURL(+XPath)の場合に取得に失敗する でもデータを取って見てみたい というわけで自作したら1行で済んだ require "open-uri" require "rubygems" require "nokogiri" def xpathgraph_modoki(url, xpath) Nokogiri::HTML(open(url)).xpa…

NHK週刊こどもニュース「ニュースまるわかり」のフィード作成用Yapraプラグイン

「ニュースまるわかり」は以前「今週の大ハテナ」だったコーナーです。 RSS::save などに渡して使ってください。 =begin config example: - module: KodomoNews::hatena config: recent: 10 # optional =end require "rubygems" require "yapra/plugin" requ…

dropbox start して同期が終わったら dropbox stop するRubyスクリプト

# dropbox-sync.rb module Dropbox def self.exec(cmd) puts cmd `#{cmd}` end def self.sync self.exec %Q!dropbox start! loop do result = exec( %Q!dropbox status! ) p result break if result == "Idle\n" sleep 5 end self.exec %Q!dropbox stop! end…