Sha256: 6d8c3ba534dc2e3ffe1379621ba3758a9df7a45d621252d85958d31783c0dbb4

Contents?: true

Size: 1.34 KB

Versions: 56

Compression:

Stored size: 1.34 KB

Contents

# frozen_string_literal: true

require 'rails/generators'
require 'rails/generators/migration'
require 'active_record'
require 'rails/generators/active_record'
require 'generators/motor/migration'

module Motor
  module Generators
    class UpgradeGenerator < Rails::Generators::Base
      include Rails::Generators::Migration
      extend Motor::Generators::Migration

      source_root File.expand_path('templates', __dir__)

      def copy_migration
        unless Motor::ApiConfig.table_exists?
          migration_template 'install_api_configs.rb', 'db/migrate/install_motor_api_configs.rb'
        end

        if with_api_actions?
          migration_template 'upgrade_motor_api_actions.rb', 'db/migrate/upgrade_motor_api_actions.rb'
        end

        migration_template 'install_notes.rb', 'db/migrate/install_motor_notes.rb' unless Motor::Note.table_exists?

        if Motor::ApiConfig.table_exists? && !with_api_actions? && Motor::Note.table_exists?
          puts 'The latest Motor Admin features are already configured'
        else
          puts 'Run `rake db:migrate` to update DB schema'
        end
      end

      def with_api_actions?
        @with_api_actions ||=
          Motor::Resource.all.any? do |resource|
            resource.preferences[:actions]&.any? { |action| action[:action_type] == 'api' }
          end
      end
    end
  end
end

Version data entries

56 entries across 56 versions & 6 rubygems

Version Path
motor-admin-0.4.36 lib/generators/motor/upgrade_generator.rb
motor-admin-0.4.35 lib/generators/motor/upgrade_generator.rb
motor-admin-0.4.34 lib/generators/motor/upgrade_generator.rb
motor-admin-0.4.33 lib/generators/motor/upgrade_generator.rb
motor-admin-0.4.32 lib/generators/motor/upgrade_generator.rb
motor-admin-0.4.31 lib/generators/motor/upgrade_generator.rb
motor-admin-0.4.30 lib/generators/motor/upgrade_generator.rb
motor-admin-0.4.29 lib/generators/motor/upgrade_generator.rb
motor-admin-0.4.28 lib/generators/motor/upgrade_generator.rb
motor-admin-cstham8-0.4.35 lib/generators/motor/upgrade_generator.rb
motor-admin-cstham8-0.4.34 lib/generators/motor/upgrade_generator.rb
motor-admin-cstham8-0.4.33 lib/generators/motor/upgrade_generator.rb
motor-admin-cstham8-0.4.32 lib/generators/motor/upgrade_generator.rb
motor-admin-cstham8-0.4.31 lib/generators/motor/upgrade_generator.rb
motor-admin-cstham8-0.4.30 lib/generators/motor/upgrade_generator.rb
motor-admin-cstham8-0.4.29 lib/generators/motor/upgrade_generator.rb
motor-admin-cstham8-0.4.28 lib/generators/motor/upgrade_generator.rb
motor-admin-cstham8-0.4.27 lib/generators/motor/upgrade_generator.rb
motor-admin-0.4.27 lib/generators/motor/upgrade_generator.rb
motor-admin-unosquare-0.4.28 lib/generators/motor/upgrade_generator.rb