uzullaがブログ

uzullaがブログです。

まさおのポエムを読むのと、Composerのちょっとした話

パーフェクトRubyの著者の一人である、スーパーハッカーすがまさおがpplogにポエムをかきはじめた。

https://www.pplog.net/u/sugamasao


まさおフリークとしては全力で読みたいのだが、いかんせんpplogはウェブサイトだし、おちこんだときにぱっと読むためにはコマンド化したい。

ということで

SugaPoemをつくりました
https://github.com/uzulla/SugaPoem

インストールと使い方

$ mkdir ~/sugapoem
$ cd ~/sugapoem

して、中にcomposer.jsonとして以下を作成し

{
    "repositories": [
        {
            "url": "https://github.com/uzulla/SugaPoem.git",
            "type": "git"
        }
    ],
    "require":{
        "uzulla/sugapoem": "dev-master"
    }
}

みなさんが手持ちのPHP5.4以降で、Composerをinstall実行して

$ php composer.phar install
$ vendor/bin/sugapoem

と実行するだけです。簡単です。

みんなすがさんのポエムをよもう!!!

f:id:uzulla:20140205034306p:plain

$ vendor/bin/sugapoem
2014/02/05 02:04:00 sugamasao > インターネットの世界に逃げ場など無い。あるのは開き直りだけだ
 +>Unknown>逃げるな

ついでの話

PHPでコマンドをつくったりとかするときに、Composerでvendor/bin以下に実行ファイルを置くには

    "bin": [
        "sugapoem"
    ]

とかかいておくと、いれてくれるわけです。(具体的は、Githubのコード見たりやってみてください)

で、そういうの開発するときに試行錯誤しますけど、毎回Githubにpushするのはかったるいので、手元の(ローカルの)ファイルをcomposer.jsonから指定できるようにしたいですよね。

そういう時は

    "repositories": [
        {
            "url": "/path/to/pplog_crawl/",
            "type": "vcs"
        }
    ],

とか、urlにPATHをかいて、TypeにVCSを指定すると、そのディレクトリの中にあるgitレポジトリを読みにいってくれるので、いちいちGitにあげなくてもつかえます。

tagを切っていない場合はdev-masterをバージョン番号に指定しましょう。

Githubに公開してない(けどローカルにある)ライブラリをComposerでインストールするにはこの方法をつかうとよいでしょう。

ということで Enjoy!

追記 Packagistに公開しないのか?

すがさんのポエムは残念ながらジャパニーズオンリーっぽかったので。

追記2 同梱されているPplogCrawlについて

pplogをクロールするクラスライブラリですが、pplogをクロールするとか悪趣味なのでつかわないほうがよいでしょう。