gpt4 book ai didi

ruby - Rails gem 命名约定

转载 作者:数据小太阳 更新时间:2023-10-29 07:50:09 25 4
gpt4 key购买 nike

假设有一个 Foo 服务,它有 RESTful API。如果我想为它创建包装库:

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

是否有一些命名约定?

最佳答案

bundle gem 正在尝试构建一个符合建议的命名约定的结构 on the Rubygems website

取自链接的示例名称表:

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

comments on issue 1255 支持这是 bundler 故意的行为

至于命名您的客户端,我可能会建议使用 bundle gem foo_api_client 除非您的客户端是现有 foo gem 的扩展。尽管在 Ruby 社区中通常可以接受对 gem 的用途或历史的适当双关语。

关于ruby - Rails gem 命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19705598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com