class Ruboty::Handlers::Bundler::Gems
Public Class Methods
new(gemfile_content: nil, gemfile_lock_content: nil)
click to toggle source
@param gemfile_content [String] @param gemfile_lcok_content [String]
# File lib/ruboty/handlers/bundler.rb, line 192 def initialize(gemfile_content: nil, gemfile_lock_content: nil) @gemfile_content = gemfile_content @gemfile_lock_content = gemfile_lock_content end
Public Instance Methods
add(gem_name, version: nil)
click to toggle source
# File lib/ruboty/handlers/bundler.rb, line 197 def add(gem_name, version: nil) dependencies.reject! do |dependency| dependency.name == gem_name end dependencies << ::Bundler::Dependency.new(gem_name, version || ">= 0") end
delete(gem_name)
click to toggle source
# File lib/ruboty/handlers/bundler.rb, line 204 def delete(gem_name) raise GemNotFound if dependencies.all? {|dependency| dependency.name != gem_name } dependencies.reject! do |dependency| dependency.name == gem_name end end
dependencies()
click to toggle source
# File lib/ruboty/handlers/bundler.rb, line 211 def dependencies @dependencies ||= ::Bundler::Dsl.evaluate( gemfile_file.path, gemfile_lock_file.path, {}, ).dependencies end
Private Instance Methods
gemfile_file()
click to toggle source
# File lib/ruboty/handlers/bundler.rb, line 221 def gemfile_file @gemfile_file ||= Tempfile.new("Gemfile").tap do |file| file.write(@gemfile_content) file.flush end end
gemfile_lock_file()
click to toggle source
# File lib/ruboty/handlers/bundler.rb, line 228 def gemfile_lock_file @gemfile_lock_file ||= Tempfile.new("Gemfile.lock").tap do |file| file.write(@gemfile_lock_content) file.flush end end