Sha256: 6251f58b5d7268db06acaa44fb12ceb5ab7b1e3f7a8f7697380b9b623e35b63c

Contents?: true

Size: 890 Bytes

Versions: 17

Compression:

Stored size: 890 Bytes

Contents

# frozen_string_literal: true

require 'fileutils'

namespace :railway_ipc do
  namespace :generate do
    desc 'Generates migrations to store Railway messages'
    task :migrations do
      raise 'Migration generation requires active record' unless defined?(ActiveRecord::Base)

      puts 'generating Railway IPC table migrations'
      seconds = 0
      gem_path = Gem.loaded_specs['railway-ipc'].full_gem_path
      folder_dest = "#{Rails.root}/db/migrate"
      FileUtils.mkdir_p(folder_dest)

      Dir.glob("#{gem_path}/priv/migrations/*.rb").each do |file_path|
        file_name = File.basename(file_path)
        migration_timestamp = (Time.now + seconds).utc.strftime('%Y%m%d%H%M%S') % '%.14d'
        new_file_name = "#{migration_timestamp}_#{file_name}"
        FileUtils.copy_file(file_path, "#{folder_dest}/#{new_file_name}")
        seconds += 1
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
railway-ipc-5.1.1 lib/railway_ipc/tasks/generate_migrations.rake
railway-ipc-5.1.0 lib/railway_ipc/tasks/generate_migrations.rake
railway-ipc-5.0.0 lib/railway_ipc/tasks/generate_migrations.rake
railway-ipc-4.0.1 lib/railway_ipc/tasks/generate_migrations.rake
railway-ipc-4.0.0 lib/railway_ipc/tasks/generate_migrations.rake
railway-ipc-3.0.0 lib/railway_ipc/tasks/generate_migrations.rake
railway-ipc-2.2.2 lib/railway_ipc/tasks/generate_migrations.rake
railway-ipc-2.2.1 lib/railway_ipc/tasks/generate_migrations.rake
railway-ipc-2.2.0 lib/railway_ipc/tasks/generate_migrations.rake
railway-ipc-2.1.0 lib/railway_ipc/tasks/generate_migrations.rake
railway-ipc-2.0.3 lib/railway_ipc/tasks/generate_migrations.rake
railway-ipc-2.0.2 lib/railway_ipc/tasks/generate_migrations.rake
railway-ipc-2.0.1 lib/railway_ipc/tasks/generate_migrations.rake
railway-ipc-2.0.0 lib/railway_ipc/tasks/generate_migrations.rake
railway-ipc-1.1.0 lib/railway_ipc/tasks/generate_migrations.rake
railway-ipc-1.0.1 lib/railway_ipc/tasks/generate_migrations.rake
railway-ipc-1.0.0 lib/railway_ipc/tasks/generate_migrations.rake