light log

学んだこととか

Rubyのエコシステムを軽く調べた

はじめに

いろいろあってよくわからなかったので、軽く調べた。

Gems

RubyGems.org | your community gem host

パッケージマネージャ。nodeのnpmのようなやつ。

Bundler

Bundler: The best way to manage a Ruby application's gems

依存関係マネージャ(っていうのかな)。

プロジェクトのルートディレクトリにnpmのpackage.jsonに相当するGemfileというテキストファイルを用意してプロジェクトで必要なライブラリとそのバージョンを指定する。

今までGemがnpm相当のものだと思ってたけど、実際はnpmはこのBundler相当の仕事もしてるので、npm は Gem + Bundler のような存在なのかな。

以下でGemfileの雛形ができる。(超シンプルなやつ)

$ bundle init

以下でGemプロジェクトのスケルトンが作れる。

$ bundle gem GEMNAME

Rake

ビルドツール。名前からしてもMakeファイルのRuby版的なもの。

RDoc/ri

RDocはドキュメンテーションコメントからドキュメントを生成するツール

riはRuby版manコマンドのようなもの。riの内容もRDocで生成される。

RSpec

RSpec: Behaviour Driven Development for Ruby

BDDフレームワーク。軽く調べた感じ、嫌われている…?

まとめ

ここに書いたやつらは今後ゴリゴリに使う必要ありそうなので、少しずつ使い方を覚えたい。

あとRubyのテスティングフレームワークの歴史には闇を見た気がする。