gem 作り方覚書
準備
# gem自信のupdate gem update --system # bundlerのupdate gem update bundler # generatorからプロジェクト作成 bundle gem new_gem -t
-t
はテストも作成するoption
defaultでRSpec
他のgemと名前がかぶってはいけないので
gem search new_gem
で名前がかぶっていないことを確認しましょう。
雛形を作成することができたらnew_gem.gemspec
を編集します
spec.summary = %q{TODO: Write a short summary, because Rubygems requires one.} spec.description = %q{TODO: Write a longer description or delete this line.} spec.homepage = "TODO: Put your gem's website or public repo URL here."
TODOと書かれている箇所を編集していきます
summary -> サマリー
description -> 長めのサマリー
homepage -> https://github.com/takakuda/new_gem
といった感じです
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
と書かれている箇所は社内用のgemを外部に公開しないために公開して良いホストを指定する箇所です。
RubyGems.org
に公開するのでごっそりこのあたりの記述は消します。
作成したgemをlocalで確認
new_gemを作った同じ階層にテスト用のフォルダを作成し
bundle init
でGemfile
を作成します
new_gem ├── Gemfile ├── README.md ├── Rakefile ├── bin │ ├── console │ └── setup ├── lib │ ├── new_gem │ │ └── version.rb │ └── new_gem.rb ├── miura.gemspec └── spec ├── new_gem_spec.rb └── spec_helper.rb new_gem_test ├── Gemfile ├── Gemfile.lock
Gemfileでは
gem "new_gem", path: "../new_gem"
でlocalのgemをinstallします
その後にbundle
を実行
あとはtest用のfileを作成してgemをrequireで呼べば確認できます
確認後公開用にリポジトリを作成し、https://rubygems.org/でアカウントを作成して有効な状態にすればリリースの準備は完了です
リリース
リリースはgemspecのあるディレクトリでrake release
を実行
自分のプロファイルページに追加されていれば完了です! https://rubygems.org/profiles/takakuda