class Supercop::Actions::Loaders::Dependency
Constants
- BUNDLE_REQUIRED
- END_COMMENT
- START_COMMENT
Attributes
file_injector[R]
gem_list[R]
loader[R]
Public Class Methods
new(loader = nil)
click to toggle source
# File lib/supercop/actions/loaders/dependency.rb, line 11 def initialize(loader = nil) @gem_list = Supercop.configuration.cops_settings.keys @loader = loader || Base @file_injector = Supercop::Actions::FileInjector end
Public Instance Methods
call()
click to toggle source
# File lib/supercop/actions/loaders/dependency.rb, line 17 def call puts 'Loading dependecies, please wait..' if gems_to_add.empty? say_nothing_needed else wrap_for_gemfile do gems_to_add.each { |gem_name| loader.new(gem_name).call } end install end end
Also aliased as: load_dependencies
Private Instance Methods
gems_to_add()
click to toggle source
# File lib/supercop/actions/loaders/dependency.rb, line 35 def gems_to_add gem_list.select { |gem_name| !loaded?(gem_name) } end
install()
click to toggle source
# File lib/supercop/actions/loaders/dependency.rb, line 43 def install puts 'Updating your bundle, please wait' Bundler.with_clean_env do `bundle install` end end
loaded?(gem_name)
click to toggle source
# File lib/supercop/actions/loaders/dependency.rb, line 39 def loaded?(gem_name) loader.new(gem_name).installed? ? true : false end
say_nothing_needed()
click to toggle source
# File lib/supercop/actions/loaders/dependency.rb, line 50 def say_nothing_needed puts 'No need to install anything.' end
wrap_for_gemfile() { || ... }
click to toggle source
# File lib/supercop/actions/loaders/dependency.rb, line 54 def wrap_for_gemfile(&_block) file = Supercop.configuration.path('Gemfile') file_injector.new(filename: file, line: START_COMMENT).call yield file_injector.new(filename: file, line: END_COMMENT).call end