Gem を公開してみて

Ruby の Gem 形式のライブラリを制作・公開してみました。 1 週間ほど経ってみての感想やメモを記してみたいと思います。

制作

制作には Bundler を使用しました。

手順は簡単。以下は RSpec を利用したテスト駆動開発での例です。

  1. bundle gem -t rspec {GemName} で Gem 用の開発環境を作成。
  2. lib 内のファイルを編集することで Gem 本体を、 spec 内のファイルを編集することでテスト環境を作り上げていく。
  3. bundle exec rspec で動作確認しながらコーディング。
  4. 完成したら {GemName}.gemspec 内の必須事項を記述。 (開発者名や簡単な解説等)
  5. 公開する場合は RubyGems.org でユーザー登録して bundle exec release 、手元の環境にのみインストールおこなう場合は、 bundle exec install

以上。

RSpec を初めて使ったのでその一点に関しては多少戸惑いましたが、おおむねスムーズに制作を完了することができました。

各作業の詳細は bundle gem で検索すればいろんなサイトでチュートリアルが出てきますので、気になる方は調べてみてください。また、 この記事の最後 でもリンクを掲載しています。

公開すると 1

公開すると数時間ほどで 50 ~ 70 回ダウンロードされました。これは RubyGems.org のダッシュボード で確認できます。

ふたつ公開したところ、初期のダウンロード数がほぼ同数でした。間を置いてバージョンアップした場合でも、やはり同じくらいの数がダウンロードされます。

おそらく自動的にダウンロードしている人がいるのでしょう。人間的なにおいは感じません。

公開すると 2

このブログへのアクセスが一瞬、少しだけ増えました。アクセス元は複数のサーチエンジンです。

これは直接的には、同時にアップしていた GitHub の効果かもしれません。公開した Gem 関連のファイルのうち、このブログへの HTML リンクは GitHub 内の README のみにあります。

しかし GitHub にのみアップした作品ではこのような経験がなかったことから考えると、 Gem としてライブラリを公開することは多少の SEO 効果があるんじゃないかと感じました。

公開すると 3

なんかよくわからないメールが来ました。

Hi,

I'm building a Ruby documentation community that allows users to ask questions about code and help generate documentation. Since you're a gem creator, I'd like to offer you moderation controls which allow you to edit or delete comments on your gems. You can claim your privileges here:

https://www.omniref.com/claim/{GemName}/{Token}
https://www.omniref.com/claim/{GemName}/{Token}

If you'd like to invite other programmers to help moderate, feel free to share these links with them for the next 7 days, or if you like what you see, I'd be grateful for a link to these docs in your README.

Thanks!
Montana

P.S. This is the last email you'll receive about Omniref, unless you create an account.

怪しく思い翻訳と検索を試みたところ、この omniref は Ruby のドキュメントの検索をサポートするサービスらしいです。

コミュニティの機能も備えており、このメールの URL をクリックすることで、 Gem についたコメントの編集や削除といった特権が与えられるとのこと。

危険性は薄そうですが GitHub もあるし、コミュニティの場所が拡散するのは余計な負担のおそれがあるので無視という形で対処することにしました。日本語でここを取り扱ったブログも見つからなかったので、開発者なら登録すべきというサービスでもなさそうです。

結果

大層なことは何も起こりませんでした。

しかし、ライブラリをただ GitHub に公開するよりもいくらか影響範囲が広いような気がしました。少なくとも、ブログを書く程度には新しい場所につま先を置いたような感覚があります。

また、単純に Gem を公開サーバーに置いておくと便利です。いつでも手軽に取り出せるという安心感がありますし、制作の区切りを強く意識することができます。

感覚的にはまだ淡くペラいものしかありませんが、 Gem の開発と公開は気軽にできてなんとなく楽しかったので、またやってみようと思います。

Gem 制作にあたって参考させていただいたサイトです。

総合

RSpec

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です