Articles
宝石とは何ですか? – RubyGems Guides
On 10月 24, 2021 by adminRubyGemの中身を紐解く。
Gemの構造
各gemには名前、バージョン、プラットフォームがある。 例えば、rake gem は 0.8.7
バージョン (2009年5月) を持っています。 Rake のプラットフォームは ruby
で、これは Rubyrun が動作するすべてのプラットフォームで動作することを意味します。
プラットフォームは、CPU アーキテクチャ、オペレーティングシステムの種類、および場合によってはオペレーティングシステムのバージョンに基づいています。 例えば、”x86-mingw32″ や “java” などです。 プラットフォームは、そのgemが同じプラットフォーム用にビルドされたrubyとしか動作しないことを示します。 RubyGems は、あなたのプラットフォーム用の正しいバージョンを自動的にダウンロードします。 詳しくは gem help platform
を参照してください。
- コード (テストとサポートユーティリティを含む)
- ドキュメント
- gemspec
各 gem はコード構成について同じ標準構造に従っています:
% tree freewillfreewill/├── bin/│ └── freewill├── lib/│ └── freewill.rb├── test/│ └── test_freewill.rb├── README├── Rakefile└── freewill.gemspec
ここで、gem の主要コンポーネントを確認することができます。
- The
lib
directory contains the code for the gem - The
test
orspec
directory contains tests, depending on which testframework the developer uses - A gem has a
Rakefile
, which the rake program uses to automate tests, generate code and perform other tasks. - この gem は
bin
ディレクトリに実行ファイルを含んでおり、gem がインストールされるとユーザーのPATH
にロードされます。 - ドキュメントは通常
README
に含まれ、コードと一緒にインラインで表示されます。gemのファイル、テスト情報、プラットフォーム、バージョン番号などが、作者のメールと名前とともにここに表示されます。
Gemspec ファイルの詳細
Build your own gem
The Gemspec
gemspec は、名前、バージョン、説明、著者、ホームページなど gem についての情報を指定します。 詳しくは、agem の作り方
% cat freewill.gemspecGem::Specification.new do |s| s.name = 'freewill' s.version = '1.0.0' s.summary = "Freewill!" s.description = "I will choose Freewill!" s.authors = s.email = '[email protected]' s.homepage = 'http://example.com/freewill' s.files = end
で解説しています。
コメントを残す