RubyGems用のgemを作成する

ルビー用の石を集めます


プロジェクトからプロジェクトにコードの一部をドラッグすることはよく起こります。 このような部分は、外部ファイル、モジュールに入れるのに非常に便利です。 これを行うために、RubyにはRubyGems(アプリケーションとライブラリのマネージャー)があり、1つのファイルパッケージ(gem)で設計されています。 そして、そのような宝石を収集し、最も重要なことには、インターネットに接続されたあらゆるマシンで利用できるようにするために、それは非常に簡単であることが判明しました。



原材料


したがって、すべては、gemで収集する必要があるコードから始まります。 RenoterマイクロブログサービスのAPIのこの小さなラッパークラスが最近ハブで点灯しました ここにあります-pastie.org/453300ご覧のとおり、クラスは1つだけで、依存関係のJSONライブラリだけです。

MacOS X 10.5.6で実行した以下のすべてのアクション。ただし、他のOSで大きな違いはほとんどありません。 また、私はインストールしました:


はじめに


まず、 GitHubで gitリポジトリを作成します 。 ここでのポイントは、これが1つの石で複数の鳥を殺す方法であるということです。まず、 gemの配布の問題が解決されます。 第二に、ソースコードをホストするための素晴らしい人気のあるプラットフォームです。 3番目、おそらく最もおいしい:githubは、gemを独立してアセンブルし、更新の場合に再構築できます。 少し後でこれをやめます。 そこで、新しいリポジトリを作成し、設定の「RubyGem」アイテムにチェックマークを付けます。

次に、ファイル構造に移動します。
mkdirリノター
cdリノター
mkdir lib
READMEをタッチします
タッチrenoter.gemspec

これが、最低限必要なものです。 libフォルダーで、上記のコードを含むrenoter.rbファイルをコピーします。 ログアウトのメソッドを削除して、後でgemの更新を表示します。


READMEで何かを書いてみましょう。このファイルはgithubのプロジェクトページに表示されます。
Renoter Gem
--------------------------------

Usage:

require 'renoter'

r = Renoter.new
public_timeline = r.public_timeline # Last 20 statuses

if(r.login('user', 'password'))
r.update_status 'Hello from ruby!'
print 'OK!'
else
print 'Login failed'
end

friends_timeline = r.friends_timeline('5') # Last 5 freinds statuses


For more functionality see documentation.


renoter.gemspecファイルに移動します。 実際、これはメインファイルの1つです。つまり、これは設定ファイルであり、これに基づいてgemが収集されます。 追加のドキュメントについては、オフサイトにアクセスしてください。

これが設定です。 rdocドキュメントの生成をオンにしたため、renoter.rbファイルをフォーマットする必要があることに注意してください。 これで、原則として、すべての準備が終了し、ヘムの組み立てを確認する時間です。 コンソールに入り、次のコマンドを入力します。
gem build renoter.gemspec

そして、このステップの前にすべてが正しく行われていれば、renoter-0.0.1.gemという名前のアセンブルされたgemファイルを取得する必要があります。 結果のgemファイルを削除します。

では、githubを実行しましょう。 ここでもすべてが簡単です。gemディレクトリに移動して、次のコマンドを実行します。
git init
git add *
git commit -m 'renoter gemをコミット、0.0.1'
git remote add origin git@github.com:cheetah / renoter.git
git push origin master

Githubはパスワードを要求し、パスワードを受け取った後、素直にフォルダー全体をコミットします。 これで、優れたオペレーティングシステムが私たちに語ったように、椅子に座ったり、コーヒーを飲むことができます。 ヘムが回収されるまで約15分かかります。 Gemが収集されると、GitHubは電子メールおよびプライベートメッセージで通知し、Gemはこのリストに表示されます 。 これでインストールできます:
gem sources -a gems.github.com (サーバーを追加します。既に追加されている場合があります)
sudo gem install cheetah-renoter

以上で、gemは生成されたドキュメントとともにインストールされ、使用できるようになります。

更新する


覚えておいて、githubは更新後にgemを再構築できると言ったのですか? 削除したログアウトメソッドをrenoter.rbファイルに追加し、これを確認します。 また、gemのバージョンを次のバージョンに変更し、renoter.gemspecファイルのs.versionパラメーターを0.0.2に変更する必要があります。
git add *
git commit -m 'renoter gemをコミット、0.0.2'
git push

繰り返しになりますが、gemが再構築されたことを通知するメールが届きます。これは更新可能です。
sudo gem update cheetah-renoter


結果


私は基本的にこれらすべてを自習のために行いましたが、最終的には非常に有効な宝石を得ました。
ソースコードはここで入手できます-github.com/cheetah/renoter

関連資料




Source: https://habr.com/ru/post/J57829/


All Articles