賢くなりたいトイプードルの日記

データサイエンス系の話をメインにしていきます

人工衛星の計算ライブラリのgemを作ったのでgemの作成から公開までをまとめてみた

Rubyのgemを作成しました。人工衛星の軌道・姿勢・電力・通信などに関する計算をするライブラリです。

https://github.com/OhmachiSeiya/calc_sat

gem install calc_sat

でインストールでき、

require 'calc_sat'

# 軌道計算のインスタンス生成
orb = CalcSat::Orbita.new()
v = orb.velocity(7078,0,0)
# 0.7556702860624055

のように使うことができます。

次のような流れでgemの作成を行いました

  1. githubリポジトリを新規作成
  2. gem search ^calcで同じ名前がないかを確認
  3. 任意のディレクトリでbundle gem calc_sat -tで雛形を作成
  4. .gitignoreにGemfile.lockを追加
  5. gemspecに依存関係のgemやgithubリポジトリのURLなどを追加
  6. bundle install
  7. lib/calc_sat.rbに実装部分を記述
  8. ./bin/consoleでirbによるテスト
  9.  spec/calc_sat_spec.rbにテストを書いてbundle exec rake specでテスト実行
  10. githubにプッシュ
  11. rubygems.orgのアカウントを作成してAPIキーを取得
  12. curl -u rubygems_xxxxx00000000xxxxxxx00000000 https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials; chmod 0600 ~/.gem/credentials でログイン
  13. rake build
  14. rake release でリリース
  15. アップデートは実装部分だけの変更をプッシュすればいいわけではなく、lib/sample_gem/version.rbのバージョンを上げてcommitまでして、rake buildしてrake release