Sha256: e978cd90012d2addef3f6d381556a9ad34a7c6479b279b775d91f6ad82b220df
Contents?: true
Size: 2 KB
Versions: 1
Compression:
Stored size: 2 KB
Contents
# frozen_string_literal: true require "stimulus_reflex/installer" hash = StimulusReflex::Installer.gemfile_hash # run bundle only when gems are waiting to be added or removed add = StimulusReflex::Installer.add_gem_list.exist? ? StimulusReflex::Installer.add_gem_list.readlines.map(&:chomp) : [] remove = StimulusReflex::Installer.remove_gem_list.exist? ? StimulusReflex::Installer.remove_gem_list.readlines.map(&:chomp) : [] if add.present? || remove.present? lines = StimulusReflex::Installer.gemfile_path.readlines remove.each do |name| index = lines.index { |line| line =~ /gem ['"]#{name}['"]/ } if index if /^[^#]*gem ['"]#{name}['"]/.match?(lines[index]) lines[index] = "# #{lines[index]}" say "✅ #{name} gem has been disabled" else say "⏩ #{name} gem is already disabled. Skipping." end end end add.each do |package| matches = package.match(/(.+)@(.+)/) name, version = matches[1], matches[2] index = lines.index { |line| line =~ /gem ['"]#{name}['"]/ } if index if !lines[index].match(/^[^#]*gem ['"]#{name}['"].*#{version}['"]/) lines[index] = "\ngem \"#{name}\", \"#{version}\"\n" say "✅ #{name} gem has been installed" else say "⏩ #{name} gem is already installed. Skipping." end else lines << "\ngem \"#{name}\", \"#{version}\"\n" end end StimulusReflex::Installer.gemfile_path.write lines.join bundle_command("install --quiet", "BUNDLE_IGNORE_MESSAGES" => "1") if hash != StimulusReflex::Installer.gemfile_hash else say "⏩ No rubygems depedencies to install. Skipping." end FileUtils.cp(StimulusReflex::Installer.development_working_path, StimulusReflex::Installer.development_path) say "✅ development environment configuration installed" FileUtils.cp(StimulusReflex::Installer.action_cable_initializer_working_path, StimulusReflex::Installer.action_cable_initializer_path) say "✅ Action Cable initializer installed" StimulusReflex::Installer.complete_step :bundle
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
stimulus_reflex-3.5.3 | lib/install/bundle.rb |