BUNDLE-GEM(1) General Commands Manual BUNDLE-GEM(1)

bundle-gem - ایجاد ساختار اولیه پروژه برای ساخت یک rubygem

bundle gem GEM_NAME OPTIONS

پوشه‌ای به نام GEM_NAME شامل یک Rakefile، GEM_NAME.gemspec و سایر فایل‌ها و دایرکتوری‌های پشتیبان تولید می‌کند که می‌توان از آن‌ها برای توسعه یک rubygem با همان نام استفاده کرد.

دستور rake -T را درون پروژه حاصل اجرا کنید تا فهرستی از وظایف Rake که می‌توان برای آزمودن و انتشار gem در rubygems.org استفاده کرد را مشاهده نمایید.

ساختار اولیه پروژه تولیدشده را می‌توان با استفاده از گزینه‌ها (OPTIONS) سفارشی‌سازی کرد، همان‌طور که در ادامه توضیح داده شده است. توجه داشته باشید که این گزینه‌ها را می‌توان از طریق فایل پیکربندی سراسری Bundler نیز با نام‌های زیر مشخص کرد:

  • gem.coc
  • gem.mit
  • gem.test

مشخص می‌کند که Bundler باید یک فایل اجرایی باینری (به‌صورت exe/GEM_NAME) در پروژه rubygem تولیدشده بسازد. این باینری همچنین به مانیفست GEM_NAME.gemspec اضافه خواهد شد. این رفتار به‌طور پیش‌فرض غیرفعال است.
فایل باینری ایجاد نکند (گزینه --exe مشخص‌شده در پیکربندی سراسری را لغو می‌کند).
یک فایل CODE_OF_CONDUCT.md به ریشه پروژه تولیدشده اضافه کند. در صورت عدم تعیین این گزینه، یک اعلان تعاملی نمایش داده می‌شود و پاسخ در پیکربندی سراسری Bundler برای استفاده‌های بعدی bundle gem ذخیره خواهد شد.
فایل CODE_OF_CONDUCT.md را ایجاد نکند (گزینه --coc مشخص‌شده در پیکربندی سراسری را لغو می‌کند).
یک فایل CHANGELOG.md به ریشه پروژه تولیدشده اضافه کند. در صورت عدم تعیین این گزینه، یک اعلان تعاملی نمایش داده می‌شود و پاسخ در پیکربندی سراسری Bundler برای استفاده‌های بعدی bundle gem ذخیره خواهد شد. مقدار پیش‌فرض را با دستور bundle config set --global gem.changelog <true|false> به‌روزرسانی کنید.
فایل CHANGELOG.md را ایجاد نکند (گزینه --changelog مشخص‌شده در پیکربندی سراسری را لغو می‌کند).
قالب اولیه (boilerplate) برای کدهای افزونه C، Go (در حال حاضر بر پایه go-gem-wrapper https://github.com/ruby-go-gem/go-gem-wrapper) یا Rust (در حال حاضر بر پایه magnus https://docs.rs/magnus) به پروژه تولیدشده اضافه کند. این رفتار به‌طور پیش‌فرض غیرفعال است.
کد افزونه اضافه نکند (گزینه --ext مشخص‌شده در پیکربندی سراسری را لغو می‌کند).
یک مخزن git درون کتابخانه شما مقداردهی اولیه کند.
نام کاربری GitHub را در فایل README درج کند تا نیازی به انجام دستی آن نباشد. با دستور bundle config set --global gem.github_username <your_username> یک مقدار پیش‌فرض تنظیم کنید.
یک مجوز MIT را در فایل LICENSE.txt در ریشه پروژه تولیدشده اضافه کند. نام شما از پیکربندی سراسری git برای بیانیه حق نشر (کپی‌رایت) استفاده خواهد شد. در صورت عدم تعیین این گزینه، یک اعلان تعاملی نمایش داده می‌شود و پاسخ در پیکربندی سراسری Bundler برای استفاده‌های بعدی bundle gem ذخیره خواهد شد.
فایل LICENSE.txt را ایجاد نکند (گزینه --mit مشخص‌شده در پیکربندی سراسری را لغو می‌کند).
چارچوب آزمایشی را که Bundler باید هنگام تولید پروژه استفاده کند مشخص می‌سازد. مقادیر مجاز عبارتند از minitest، rspec و test-unit. فایل GEM_NAME.gemspec پیکربندی شده و یک دایرکتوری پایه test/spec بر اساس این گزینه ایجاد خواهد شد. در صورتی که گزینه‌ای مشخص نشود:
اگر Bundler برای ایجاد آزمون‌ها پیکربندی شده باشد، این مورد به‌طور پیش‌فرض به تنظیمات سراسری gem.test در Bundler بازمی‌گردد.
اگر Bundler برای عدم ایجاد آزمون‌ها پیکربندی شده باشد، یک اعلان تعاملی نمایش داده شده و پاسخ دریافتی برای پروژه rubygem فعلی اعمال خواهد شد.
اگر Bundler پیکربندی نشده باشد، یک اعلان تعاملی نمایش داده شده و پاسخ دریافتی در پیکربندی سراسری Bundler برای استفاده‌های بعدی bundle gem ذخیره خواهد شد.
از چارچوب آزمایشی استفاده نکند (گزینه --test مشخص‌شده در پیکربندی سراسری را لغو می‌کند).
سرویس یکپارچه‌سازی مداوم (CI) مورد استفاده Bundler در زمان تولید پروژه را تعیین می‌کند. مقادیر مجاز عبارتند از github، gitlab و circle. یک فایل پیکربندی در دایرکتوری پروژه ایجاد خواهد شد. در صورتی که گزینه‌ای مشخص نشود:
اگر Bundler برای ایجاد فایل‌های CI پیکربندی شده باشد، به‌طور پیش‌فرض از تنظیمات سراسری gem.ci در Bundler استفاده می‌کند.
اگر Bundler برای عدم ایجاد فایل‌های CI پیکربندی شده باشد، یک اعلان تعاملی نمایش داده شده و پاسخ دریافتی برای پروژه rubygem فعلی اعمال خواهد شد.
اگر Bundler پیکربندی نشده باشد، یک اعلان تعاملی نمایش داده شده و پاسخ دریافتی در پیکربندی سراسری Bundler برای استفاده‌های بعدی bundle gem ذخیره خواهد شد.
از سرویس یکپارچه‌سازی مداوم استفاده نکند (گزینه --ci مشخص‌شده در پیکربندی سراسری را لغو می‌کند).
ابزار لینتر و قالب‌بندی کدی که Bundler باید به وابستگی‌های توسعه پروژه اضافه کند را مشخص می‌سازد. مقادیر مجاز عبارتند از rubocop و standard. یک فایل پیکربندی در دایرکتوری پروژه ایجاد خواهد شد. در صورتی که گزینه‌ای مشخص نشود:
اگر Bundler برای افزودن لینتر پیکربندی شده باشد، به‌طور پیش‌فرض از تنظیمات سراسری gem.linter در Bundler استفاده خواهد شد.
اگر Bundler برای عدم افزودن لینتر پیکربندی شده باشد، یک اعلان تعاملی نمایش داده شده و پاسخ دریافتی برای پروژه rubygem فعلی استفاده خواهد شد.
اگر Bundler پیکربندی نشده باشد، یک اعلان تعاملی نمایش داده شده و پاسخ دریافتی در پیکربندی سراسری Bundler برای استفاده‌های بعدی bundle gem ذخیره خواهد شد.
لینتر اضافه نکند (گزینه --linter مشخص‌شده در پیکربندی سراسری را لغو می‌کند).
فایل GEM_NAME.gemspec ایجادشده را در ویرایشگر EDIT، یا در صورت عدم تعیین، در ویرایشگر پیش‌فرض باز کند. مقدار پیش‌فرض $BUNDLER_EDITOR، $VISUAL یا $EDITOR است.
پس از ایجاد gem دستور bundle install را اجرا کند.
پس از ایجاد gem دستور bundle install را اجرا نکند.

•
bundle config(1) bundle-config.1.html
September 2025