Skip to content

Instantly share code, notes, and snippets.

@narze
Last active April 5, 2019 05:17
Show Gist options
  • Select an option

  • Save narze/4952f7defa2cfe05ecd02eec302131fb to your computer and use it in GitHub Desktop.

Select an option

Save narze/4952f7defa2cfe05ecd02eec302131fb to your computer and use it in GitHub Desktop.
Load external gem (out of Gemfile) into Rails console
def require_external(gem_name=nil, gem_version="*", gem_libdir="lib")
gem_dir = Dir["#{`gem env gemdir`.strip}/gems/#{gem_name}-#{gem_version}"].first
raise "Gem '#{gem_name}' version '#{gem_version}' not found" if gem_dir.nil?
gemlib = Dir["#{gem_dir}/#{gem_libdir}/#{gem_name}.rb"].first
raise "Gem lib file '#{gemlib}' not found" if gemlib.nil?
puts "Loading gem '#{gem_name}' version '#{gem_version}' from #{gemlib}"
$LOAD_PATH << Dir["#{gem_dir}/#{gem_libdir}"].first
require gemlib
end
@narze

narze commented Apr 3, 2019

Copy link
Copy Markdown
Author

Usage

# In Rails console
require_external 'seed_dump'
require_external 'seed_dump', '3.3.1' # Specify version

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment