発電機を選択してください
最初の段階では、ライブラリをどのように作成するかを決定する必要がありました。ゼロから作成するか、何らかのジェネレーターを使用します。 私の意見では、最初から最初から書くのは非常に難しく、長いので、よく知られているジェネレーターを検討します。 ちょっとした検索で次の宝石が見つかりました:hoe、newgem、bunlder。 個人的には、newgemとbundlerの2つが好きでした。 1つ目は、多くのケースをカバーするテンプレートの完全なセットです。 しかし、そのシンプルさ、生成されたファイルの最小限のセット、およびパッケージを作成して後で公開するためのrakeタスクのセットのために、Bundlerを選択しました。
中身は何ですか
したがって、テンプレートを作成するには、ターミナルでコマンドを実行します。
bundle gem foogem
このコマンドは、libフォルダーとgemfile、Rakefileおよびfoogem.gemspecファイルを含むfoogemディレクトリーを作成します。 それぞれ別々に考えてみましょう。 gemfileは、バンドル互換フレームワークと同様に、必要なすべてのgemを含んでいます。 また、geofspec行もあり、foofem.gemspecファイルに宣言された依存関係をロードします。 多くのリソースおよびファイル自体で、gemfileに入力し、.gemspecファイルで必要なgemを指定することをお勧めします。 そこで、開発者はコードの機能に必要な依存関係だけでなく、開発段階で必要なものも指定できます。 add_dependencyメソッドはグローバルな依存関係を示すために使用され、add_development_dependencyは開発モードに使用されます。 さらに、ファイルには開発者に関する情報、簡単な説明、ライブラリのバージョンも保存されます。 Rakefileでは、通常の機能に必要なrakeタスクを指定できます。
libフォルダーは、コンポーネントの主要部分です。 foogem.rbファイルと同じ名前のフォルダーが含まれています。 vesion.rbのバージョンを指定するファイルが含まれています。 foogem.rbファイルに、Bundlerは親切に次のコードを追加します。
require 'foogem/version'
module Foogem
#code place here
end
その後、アイデアを実現します。
書面の検証
gemの開発が終了したら、検証用のテストを作成するとよいでしょう。 個人的に、私は他のテスト環境よりもrspecを好みます。 これを行うには、foogem.specに依存関係を追加します
gem.add_development_dependency 'rspec'
次に、すべてのテストを保存するspecフォルダーを作成します。 すべてのテストには多くの依存関係を含めることができるため、それらを個別のspec_helper.rbファイルで選択し、それを含めます。 すべてのテストはサブディレクトリに配置されます。 自動化を強化するには、次のrakeタスクを追加します。
desc 'Spec all functionality of gem'
task :spec_all do
system("rspec spec/*/")
end
rake spec_all
を使用して、すべての仕様を実行します。
最後のステップは、gemを公開することです。 まず、githubとrubygemにいくつかのアカウントを作成する必要があります(アカウントが存在しない場合)。 その後、githubに空のリポジトリを作成します。 ローカルgitリポジトリのリモートに追加します。 そして、コマンドを実行します:
rake build # gem
rake release # github & rubygems
その後、コマンドを使用してインストールできます
gem install foogem #
rake install #
将来、開発を継続するには、lib / foogem / version.rbのgemのバージョンを変更し、公開手順を繰り返すだけです。