Madogiwa Blog

主に技術系の学習メモに使っていきます。

Ruby: Bundlerを使って1つのRubyのファイルだけでgemをinstallして利用する方法

bundler/inlineを使うとGemのバグ報告やlogger系のGemを使った調査などでGemfileを使わずに1つのRubyファイルだけで完結できると便利だったのでMEMO

bundler.io

例えば調査のために以下のpretty print系のGemを使いたいとします。

github.com

普通だと以下のGemfileを作成しbundle installしてRubyファイル内で利用の流れになりますが、

# Gemfile

gem "spp"
# sample.rb
Spp::spp "Hello! Bundler inline!!"
$ ruby sample.rb
========== START ==========
"Hello! Bundler inline!!"
========== E N D ==========

bundler/inlineを使うと以下のように1つのRubyファイルで完結して記述できて便利です✨

require 'bundler/inline'

gemfile do
  source 'https://rubygems.org'
  gem 'spp'
end

Spp::spp "Hello! Bundler inline!!"
$ ruby sample.rb
========== START ==========
"Hello! Bundler inline!!"
========== E N D ==========

以下のような感じでGitHubから取得することもできそうだった、便利!

require 'bundler/inline'

gemfile do
  source 'https://rubygems.org'
  gem 'spp', :git => 'https://github.com/madogiwa0124/spp'
end

Spp::spp "Hello! Bundler inline!!"

Railsの再現コードのbug reportのtemplateでも利用されているみたいですね!

github.com

おわり