※この記事はすでに内容が古くなっています。こちらをご覧ください。

Automatic Ruby のチュートリアル的な記事を、わかりやすくリビドー駆動な感じに書いてみる。

タイトルは在りし日の○ットランナーの見出しをリスペクトしてみた。

(※この記事は成人した方のみ自己責任でお読みください)

必要なモノ

まず Ruby がインストールされたパソコンが必要だ。 Mac の場合、最初からインストールされているので何も心配はいらない。 Windows の場合はこれを落としてインストールすると良いだろう。

インストール

次に管理者権限でターミナル (またはコマンドプロンプト) から以下のように gem コマンドを打って Automatic Ruby をインストールする。

gem install automatic

インストールが終わったら次のコマンドを打つ。これでホームディレクトリに .automatic というフォルダができるはずだ。

automatic-config scaffold

レシピを用意する

これを右クリックして保存しよう。これはサンプルのレシピだ。最後から 2 行目の YOUR_NAME を自分のアカウントに書き換えておこう。お宝画像はここで指定したフォルダにダウンロードされる。書き換えたら .automatic/config の下に置こう。

このレシピではまだリリース版 12.6 の時点で含まれていないプラグインを利用している。そこでこれを右クリックして保存、 .automatic/plugins/filter の下に置こう。このように本体に含まれていないプラグインも .automatic の下に置くことで利用することができるようになる。これで準備は完了だ。

さっそく実行

レシピを指定して Automatic Ruby を起動する。

automatic -c get_image.yml

するとどうだろう。君のデスクトップの上がたちまち金髪美女のあられもない画像で次々と埋め尽くされていくではないか!

よかったですね。

オリジナルのレシピを書いてみよう

この程度なら他のダウンロードツールを使えばできると思うかもしれない。しかし Automatic Ruby はレシピにプラグインを順序どおり記述することでなんでもできるのである。たとえばレシピの Subscription::URI のアドレスを変更すれば別のサイトの画像をぶっこ抜きすることができる。また Ruby を自動的に実行することで更新があったファイルのみ落とすこともできる。今回のレシピでは Store::Link プラグインを利用しているので、再度実行しても新しいファイルのみダウンロードされるのだ。他にも Subscription::Feed プラグインを使えば RSS フィードを読み込んでファイルを落としたりといったことも可能である。

プラグインを書けばなんでもできる

もちろんファイルのダウンロードだけではない。 Automatic Ruby はありとあらゆる自動処理をおこなうことを可能となるよう設計されたフレームワークである。任意の処理を Ruby というプログラミング言語で記述し、今回の例のように .automatic/plugins の下に置けばレシピで指定することができるようになる。今回のような不届きな使い方はもちろんのこと情報収集だとか業務用バッチの作成にも応用することができる。プログラミングというと難しい印象があるかもしれないが、ほんの数行で作成することも可能である。詳しくは日本語ドキュメントを読んでほしい。

開発に参加しよう

まずは数行程度のプラグインを作ってみよう。じきに要領がつかめてくるので、テストの書き方も学ぼう。テストは RSpec というフレームワークを使っているので Google で検索して有用そうな記事をいくつか読んでみよう。テストが書けるようになれば君も立派なプラグイン作者である。ちょっと敷居が高いけど GitHub が使えるなら pull request するとベストである。さっそくインターネットで自作のお役立ちプラグインを公開したりしてみよう。

投稿日: 作成者: 774


Ruby で金髪美女のお宝画像をまとめてぶっこ抜き への4件のフィードバック

  1. flame のコメント:


    どうやらrubyを入れる段階からだと、The’hpricot’ nativve gem requires installed build tools. とエラーになってautomaticが入らない。
    どうしたらいいんだろう、、と今考えています。
    有用性をかなり注目しているので、諦めたくないですね。。


  2. 774 のコメント:


    コメントありがとうございます。
    お使いの環境と、どのコマンドに対してメッセージが表示されたのかが書かれていないので何とも言えないのですけど、少なくとも最新のバージョンの Automatic Ruby では hpricot は利用していません。代わりに nokogiri を利用しています。
    (※この Gemfile を参照→ https://github.com/id774/automaticruby/blob/master/Gemfile )
    入れようとしているのは最新版でしょうか?
    それと出力されたエラーメッセージで検索してみてください。似たような事例がいくつか見つかるかと思います。
    とりあえず Gemfile に書かれた依存 gem パッケージがすべて入った状態なら動きますので参考にしてください。


  3. Flame のコメント:


    お返事ありがとうございます。
    最新Verのrubyinstaller-1.9.3-p194を使っていたのですが、ご指摘後に念のため入れ直しzipでもやり直し、一つ前のrubyinstaller-1.8.7-p370も試したのですが、やはり同じでした。
    プロンプトから gem install automatic と入力しているだけなんですが、、

    The ‘hpricot’ native gem requires installed build tools.
    Please update your PATH to include build tools or download the Devkit from ‘http://rubyinstaller.org/downloads’ and follow the instructions at ‘http://github.com/oneclick/rubyinstaller/wiki/Development-kit’

    検索しましたが、やはり同じように古いVerという指摘ですね。
    しかし思うのですが、プロンプトの最初にruby 1.9.3p194(2012-04-20)と表示されていますが、Verを確認すると1.8.23と表示されます。
    公式から直でDLLしているのですが、コレでしょうか。
    もとより普通に最新使ってたのでどうしようかと思っていたのですが、ご使用のRubyのVerを教えて頂けませんか?
    仮にDevelopment-kitを解凍し入れて解決するものとしても、今後の使用としてスッキリしない感じです、、


  4. 774 のコメント:


    開発及び動作確認は Debian と Mac OS X で ruby 1.9.3 ブランチの最新を利用しています。
    Windows 版の Ruby は基本的に同じものなので動くはずです。
    コメントのメッセージを読むと PATH に開発キットを含めよと表示されています。ですから Windows の環境変数 PATH に開発キットとやらのパスを追加すれば動くのではないでしょうか。
    環境変数については検索してみてください。開発キットはメッセージの URL を辿ってみてください。ざっくり読んだ感じだと Windows 版の ruby でネイティブな gems パッケージを利用する場合にはこれが必要といったことが書かれていますね。
    想像ですが ruby -v で異なるバージョンが表示されるということは環境変数 PATH の設定が誤っているといった辺りが原因ではないでしょうか?