Sha256: 2a9cbf78b3d94fce6c5082a4c33043d32d989c0d11d68e403d92d128e2de5e44

Contents?: true

Size: 1.14 KB

Versions: 2

Compression:

Stored size: 1.14 KB

Contents

module JetsUpgrade::Rewrite
  class Gemfile < Base
    def filename
      "Gemfile"
    end

    def marker
      "sprockets-jets"
    end

    def content
      new_gems = <<~EOL
        gem "jets", "~> 5.0.0"
        gem "importmap-jets"
        gem "sprockets-jets"
        gem "sassc" # only required if using sass in stylesheets
      EOL
      new_dynomite = <<~EOL
        gem "dynomite", "~> 2.0.0" # recommend upgrading
      EOL

      modified_lines = lines.map do |line|
        if line =~ /gem "jets"/
          line = "# #{line}" + new_gems
        end
        if line =~ /gem "jetpacker"/ && @options[:javascript]
          line = "# #{line}"
        end
        if line =~ /gem "dynomite"/
          if using_dynomite?
            line = "# #{line}" + new_dynomite
          else
            line = "# #{line}"
          end
        end
        line
      end

      modified_lines.join('')
    end

    def message
      puts <<~EOL
        Your Gemfile has been updated. Please run:

      EOL
      puts "    bundle install".color(:green)
      puts
    end

    def using_dynomite?
      File.exist?("app/models/application_item.rb")
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
jets-upgrade-0.1.1 lib/jets_upgrade/rewrite/gemfile.rb
jets-upgrade-0.1.0 lib/jets_upgrade/rewrite/gemfile.rb