Sha256: b2afb6aacda8e3ba8a412842f34ff8fc364eaef045f53f5a62be02d1dfaa1f90

Contents?: true

Size: 1.54 KB

Versions: 6

Compression:

Stored size: 1.54 KB

Contents

# frozen_string_literal: true
require 'rake'
require 'rake/tasklib'

module ProxES
  class Tasks < ::Rake::TaskLib
    include ::Rake::DSL if defined?(::Rake::DSL)

    def install_tasks
      namespace :proxes do
        desc 'Generate the needed tokens'
        task :generate_tokens do
          require 'securerandom'
          File.write('.session_secret', SecureRandom.random_bytes(40))
          File.write('.token_secret', SecureRandom.random_bytes(40))
        end

        desc 'Seed the database'
        task :seed do
          require 'proxes/seed'
        end

        desc 'Migrate ProxES database to latest version'
        task :migrate do
          Rake::Task['proxes:migrate:up'].invoke
        end

        namespace :migrate do
          require_relative './db'
          Sequel.extension :migration
          folder = File.expand_path(File.dirname(__FILE__) + '/../../migrate')

          desc 'Check if the migration is current'
          task :check do
            Sequel::Migrator.check_current(DB, folder)
          end

          desc 'Migrate ProxES database to latest version'
          task :up do
            Sequel::Migrator.apply(DB, folder)
          end

          desc 'Roll back the ProxES database'
          task :down do
            Sequel::Migrator.apply(DB, folder, 0)
          end

          desc 'Reset the ProxES database'
          task :bounce do
            Sequel::Migrator.apply(DB, folder, 0)
            Sequel::Migrator.apply(DB, folder)
          end
        end
      end
    end
  end
end

ProxES::Tasks.new.install_tasks

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
proxes-0.3.3 lib/proxes/rake_tasks.rb
proxes-0.3.2 lib/proxes/rake_tasks.rb
proxes-0.3.1 lib/proxes/rake_tasks.rb
proxes-0.3.0 lib/proxes/rake_tasks.rb
proxes-0.2.0 lib/proxes/rake_tasks.rb
proxes-0.1.0 lib/proxes/rake_tasks.rb