3

Foo サービスがあり、RESTful API があるとします。そのためのラッパー lib を作成する場合:

bundle gem foo-api-client

次に、次の構造を作成します。

foo-api-client/Gemfile
foo-api-client/Rakefile
foo-api-client/LICENSE.txt
foo-api-client/README.md
foo-api-client/.gitignore
foo-api-client/foo-api-client.gemspec
foo-api-client/lib/foo/api/client.rb
foo-api-client/lib/foo/api/client/version.rb

別の api モジュールは必要ありません。そのままにしておくか、次のように変更してみてください: fooapi-client/lib/fooapi/client.rb

これには命名規則がありますか?

4

1 に答える 1

6

bundle gemRubygems の Web サイトでアドバイスされているように、命名規則に一致する構造を構築しようとしています。

リンクから取得した名前の例の表:

Gem name               Require statement             Main class or module
fancy_require          require 'fancy_require'          FancyRequire
ruby_parser            require 'ruby_parser'            RubyParser
net-http-persistent    require 'net/http/persistent'    Net::HTTP::Persistent
rdoc-data              require 'rdoc/data'              RDoc::Data
autotest-growl         require 'autotest/growl'         Autotest::Growl
net-http-digest_auth   require 'net/http/digest_auth'   Net::HTTP::DigestAuth

これがバンドラーの意図的な動作であることは、Issue 1255 のコメントによって裏付けられています。

クライアントの命名に関しては、クライアントが既存のgembundle gem foo_api_clientの拡張でない限り、おそらくお勧めします。fooただし、gem の目的や歴史についての適切なしゃれは、Ruby コミュニティではしばしば受け入れられます。

于 2013-10-31T12:33:43.147 に答える