RubyGemsにホスティングする第一歩!最小構成を知る。

先日Rubyを触っていたのですが、gemの手軽さが凄まじくて感動しておりました。
そして、GrowthPushのRubyライブラリをgemにホスティングしようと思いまして、RubyGemsについて調べました。
Rubyは「たのしいRuby」を半分くらいまで読んで挫折し、全く詳しくないので、以下の内容は怪しいかもしれません。「未経験で初めてgemを作ってみたので晒してみる」を参考にしてやっていましたが、途中行ったり来たりしていたので、どこか工程が欠けているかもしれません。

広告

ライブラリをlibディレクトリ以下に書く

gemを眺めていると、ライブラリの本体はlibディレクトリ以下に置かれるようです。libの下にgrowthpush.rbを作成し、次のように空のモジュールを書きました。

module GrowthPush
end

gemspecを書く

次にgemの設定ファイルと言えると思われるgemspecというファイルを書きます。名前は、growthpush.gemspecにします。ここにはバージョン情報や著作者情報などを書くようです。

Gem::Specification.new do |s|
  s.name              = 'growthpush'
  s.version           = '0.0.0'
  s.summary           = 'GrowthPush library'
  s.files             = ['lib/growthpush.rb']
  s.authors           = ['katty0324']
  s.email             = 'support@growthpush.com'
  s.homepage          = 'http://github.com/SIROK/growthpush-ruby'
  s.rubyforge_project = 'growthpush'
  s.description       = 'GrowthPush library for Ruby'
end

ビルドする

これで設定ファイルとソースコードの実体が完成しまして、ここから実際にホスティングするための作業に入ります。まずは、これらのソースコードをまとめてgemという一つのファイルにします。

$ gem build growthpush.gemspec
  Successfully built RubyGem
  Name: growthpush
  Version: 0.0.0
  File: growthpush-0.0.0.gem

このgemというファイルの実体は、tarらしいので、設定をもとにソースコードをパッケージしているという感じだと思います。
[Ruby][Gem] gemパッケージの正体はtarだった

ホスティングする

こうしてできたパッケージをgem pushコマンドで、送信するとホスティングすることができます。

$ gem push growthpush-0.0.0.gem
Pushing gem to https://rubygems.org...
Successfully registered gem: growthpush (0.0.0)

スクリーンショット 2013-08-22 0.42.51
growthpush | RubyGems.org | your community gem host
こんな簡単に入れられてよいのでしょうか。少し不安です。
このままだとRubyGemsのスペースを汚しているだけなので、まもなくここに空ではないGrowthPushライブラリを入れます。

タイトルとURLをコピーしました