ジェムの紹介。 パート2

良い一日!

導入する代わりに


最後に、Rubyのさまざまな不思議についての説明を続ける時間が少しありました。 覚えているように、 最後の部分では、gemの作成の基本を理解しました。 ファイルを収集するために最低限必要なファイルのセットを確認しました。 また、RubyGemsで作成物を公開する方法も学びました。 同じ日(最初の部分を書いた後)、 hello-worldと呼ばれる宝石の急増が突然RubyGemsに現れました。 そして、私はその多くのバリエーションを見つけました。 宝石の作者が示されている行を変更することさえしませんでした。
g.author = "krovatti" 

一部の人は、gemに次のバージョン値を尋ねました。
 g.version = "666" g.version = "111" g.version = "911" 

一般に、著者としてはもちろん、私を喜ばせずにはいられないバリエーションがかなりありました。


今日私たちを待っています


本日は、仕様ファイルで利用可能なプロパティの概要を紹介したいと思います。 これらのプロパティの知識は、私の意見では、持っている必要があります。
gemの作成方法はすでにわかっているので、理論自体に進みます。

どこから始めますか


列挙を開始するには、次の順序であると思います。

それでは始めましょう。

日付

タイプ:時間。
デフォルト値: Time.now
説明: gemが作成された日付/時刻。
例:
 g.date = File.utime('VERSION') 

注:通常、このフィールドにはプログラマーが入力しません。 既にデフォルト値があります。

お名前

タイプ:文字列。
デフォルト値:なし。
説明:宝石の名前。
例:
 g.name = 'woohaha' 

注:名前に、gemのバージョン番号を書くことはできません。 これには別のフィールドがあります。

プラットフォーム

タイプ:文字列。
デフォルト値: Gem :: Platform :: Ruby
説明:実際に、gemを作成しプラットフォーム。
例:
 g.platform = Gem::Platform::Win32 

注:このプロパティは、gemに特定のプラットフォーム専用に設計された拡張機能がある場合にのみ入力する価値があります。 たとえば、Win APIラッパーを作成しました。

require_paths

タイプ:配列。
デフォルト値: ["lib"]
説明:リスト。これは、 .rbまたはREADMEファイルを含むフォルダーの必須の存在を示します。
例:
 #        g.require_paths = '.' # , ,     'lib  'ext' g.require_paths << 'ext' 

注:このプロパティはHelloWorldsの場合にのみ使用するべきではありませんが、それ以外の場合は間違いなく価値があります。 馬を馬小屋に入れておくと便利な場合があります。

まとめ

タイプ:文字列。
デフォルト値:なし。
説明:宝石の簡単な説明。
例:
 g.summary = 'I love Ruby and this extension was created specially for its beauty' 

注:このプロパティは、 説明プロパティと混同されることがよくありますが、 説明プロパティはそれほど重要ではありません。

そして、今日の最後の必須プロパティ。 そして一生

バージョン

タイプ:文字列。
デフォルト値:なし。
説明: gemのバージョン。
例:
 g.version = '1.0.5' 

注: Gem :: Versionクラスで表される値も有効な値にできますが、基本的には誰も使用しません。 文字列には、テキストではなく数値のみを含める必要があることに注意してください。

以上です。 必要なプロパティを処理しました。 これで、自分の名前やバージョン番号などを安全に置き換えて、自分の名前で公開することはできなくなります。 冗談です、私は確かに気にしません。
疲れた? 強い? 一杯のコーヒーを飲んでから、私たちに戻って光を浴びることができます。

それでは続けましょう


適用する必要がある必須プロパティに加えて、オプションのプロパティも忘れないでください。 さあ、始めましょう。

著者または著者

タイプ:作成者が複数いる場合の文字列または配列。
デフォルト値:なし。
説明: gemの作成者、またはgemに含まれるライブラリのユニバースの作成者の名前またはニックネームを示します。
例:
 #    g.author = 'Mike Vazovski' #     g.authors = ['Mike Vazovski', 'Vladimir Putin'] 

注:コメントはありません。

自動要求

いいえ、気を散らすことはありません。 それは不必要なものとしてずっと前に禁止されました。 次に進みましょう。

ビンディル

タイプ:文字列。
デフォルト値: "bin"
説明:実行可能ファイルのファイルを含むフォルダー、つまり アプリケーション(ある場合)。
例:
 g.bindir = 'bin' 

注: 「アプリケーション」とは、コマンドラインから実行できるファイルを意味します。

default_executable

タイプ:文字列。
デフォルト値: none あります。 「婚status状況」の列にあるように、 すべてが複雑です。 そうでもない。 メモを読んでください。
説明: gemから起動できるアプリケーションを含むフォルダー。
例:
 g.default_executable = 'bin/debin' 

注: 実行可能ファイルで1つのディレクトリのみが指定されている場合、それはdefault_executableの値になります。 2つ以上の実行可能ファイルがある場合、この値は変更する価値があります。

依存関係

タイプ:配列。
デフォルト値は []、つまり 何も必要ありません。
説明:作業に必要なgemのリスト。
例:
 g.add_dependencies 'sinatra' 

注:最初に、すでにインストールされているgemが存在するリポジトリがチェックされます。 必要なものを見つけると、ひどいことは何も起こらず、見つけられません。 この場合、作業に不足しているgemはRubyGemsリポジトリからダウンロードされます。

development_dependencies

このプロパティは前のプロパティに似ています。

説明

実際、このプロパティは推奨されていません。 代わりに、 要約を使用してください

メール

タイプ:文字列または配列。
デフォルト値:なし。
説明:著者/著者からのフィードバックのための電子メール。
例:
 #    g.email = 'krovatti@gmail.com' #    g.email = ['blablabla@yahoo.eu','krovatti@gmail.com'] 

注:これは読み取り専用アカウントのヒントでもあり、状況によっては、関心のある質問についてトピックの作成者に連絡できないことがよくあります。

実行可能ファイル

default_executableでこのプロパティについて既に説明しました。 彼について言うことはもうありません。

拡張機能

タイプ:配列。
デフォルト値:なし。
説明:拡張ファイルを含むディレクトリ。
例:
 g.extensions << 'ext/rmagic/wtf.rb' 

注:これらのファイルは、gemがインストールされ、拡張機能がコンパイルされるときに起動されます。

extra_rdoc_files

タイプ:配列。
デフォルト値:なし。
説明: RDocドキュメントの生成時に使用される追加ファイルのリスト。
例:
 g.extra_rdoc_files = ['README', 'doc/user-guide.txt'] 

注:コメントはありません。

ファイル

タイプ:配列。
デフォルト値:なし。
説明: gemに含まれるファイルのリスト。
例:
 g.files = Dir['lib/**/*.rb] 

注:コメントする特別なものもありません。

has_rdoc

タイプ:ブール。
デフォルト値: false
説明:このRDoc gemのドキュメントが存在するかどうかを示します。
例:
 g.has_rdoc = true 

注:ファイル内の特定のバイト数を消費するプロパティ。

ホームページ

タイプ:文字列。
デフォルト値: microsoft.com、そうではありません。
説明:このgemのサイトアドレス。
例:
 g.homepage = 'http://github.com/ln/xmpp4r' 

注:コメントもありません。

ライセンスまたはライセンス

タイプ:文字列または配列。
デフォルト値:なし。
説明: gemが公開されたライセンス。
例:
 g.license = 'MIT' #    g.licenses = ['MIT', 'GPL-2'] #   ,  

注:各ライセンス名は64文字以下でなければなりません。

rdoc_options

タイプ:配列。
デフォルト値: []
説明: RDoc文書のフォーマットを指定します。
例:
 g.rdoc_options << '--title' << 'Rake -- Ruby Make' << '--main' << 'README' << --line-numbers' 

注:機能することを確認してください。

required_ruby_version

タイプ:宝石::バージョン::要件。
デフォルト値: > 0.0.0
説明: gemを使用するために必要なRubyバージョン。
例:
 g.required_ruby_version = '>= 1.8.1' 

注: gemを使用しようとするとエラーが少なくなる非常に便利な機能。 同じXMPP4Rで状況を確認してください。これは1.9.0では機能しません。または気分で起動します。

要件

このプロパティを不要とは見なしません。 ユーザーのテキスト情報のみを伝達します。

rubyforge_project

タイプ:文字列。
デフォルト値:なし。
説明: RubyForgeのプロジェクト名前。
例:
 g.rubyforge_project = 'yahoo-eu' 

注: RubyForgeプロジェクトがない場合は、このプロパティを不必要に変更しないでください。

そして、最後のプロパティを見てください(!!!)。

test_files

タイプ:文字列または配列。
デフォルト値: ''または[]
説明:存在する場合、その内容が単体テストであるディレクトリ/ディレクトリ。
例:
 g.test_files = 'tests/wtf.rb' # 1 g.test_files = ['tests/wtf.rb',tests/wtf2.rb'] 


それだけです


これで、gemの紹介の第2部が完了しました。 今日、gemを正しく構成するために使用されるあらゆる種類のプロパティについて学びました。 このトピックの終わりに達した人たちに健康な目で祝福したい。 しかし、悲しいかな、おっぱいはありません!

じゃあね!

そうそう、私はほとんど忘れていました。 また、学習した内容を統合するときに、 このガイドのガイドを受けることができます。

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


All Articles