Sha256: 786767b0e774d28bc932ec05ad44eccc2ee8ef3b3079ad2f6b6942a9f1da5773
Contents?: true
Size: 1.24 KB
Versions: 1
Compression:
Stored size: 1.24 KB
Contents
# frozen_string_literal: true require "rails/generators" module Gutentag module Generators class MigrationVersionsGenerator < Rails::Generators::Base desc "Update the ActiveRecord version in Gutentag migrations" def update_migration_versions if ::ActiveRecord::VERSION::MAJOR < 5 puts "No changes required" else migration_files.each do |file| gsub_file file, /< ActiveRecord::Migration$/, "< ActiveRecord::Migration[#{rails_version}]" end end end private def migration_files Dir[Rails.root.join("db/migrate/*.rb")].select do |path| known_migration_names.any? do |known| File.basename(path)[/\A\d+_#{known}\.gutentag.rb\z/] end end end def known_migration_names @known_migration_names ||= begin Dir[File.join(__dir__, "../../../db/migrate/*.rb")].collect do |path| File.basename(path).gsub(/\A\d+_/, "").gsub(/\.rb\z/, "") end end end def rails_version @rails_version ||= [ ::ActiveRecord::VERSION::MAJOR, ::ActiveRecord::VERSION::MINOR ].join(".") end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gutentag-2.6.0 | lib/gutentag/generators/migration_versions_generator.rb |