aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tasks/action_mailroom.rake
blob: ce80fcf55e1b62c72093a046a49fb51bcbe1f4d1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# frozen_string_literal: true

namespace :action_mailroom do
  # Prevent migration installation task from showing up twice.
  Rake::Task["install:migrations"].clear_comments

  desc "Copy over the migration and fixtures"
  task install: %w( environment active_storage:install copy_migration copy_fixtures )

  task :copy_migration do
    if Rake::Task.task_defined?("action_mailroom:install:migrations")
      Rake::Task["action_mailroom:install:migrations"].invoke
    else
      Rake::Task["app:action_mailroom:install:migrations"].invoke
    end
  end

  FIXTURE_TEMPLATE_PATH = File.expand_path("../templates/fixtures.yml", __dir__)
  FIXTURE_APP_DIR_PATH  = Rails.root.join("test/fixtures/action_mailroom")
  FIXTURE_APP_PATH      = FIXTURE_APP_DIR_PATH.join("inbound_emails.yml")

  task :copy_fixtures do
    if File.exist?(FIXTURE_APP_PATH)
      puts "Won't copy Action Mailbox fixtures as it already exists"
    else
      FileUtils.mkdir FIXTURE_APP_DIR_PATH
      FileUtils.cp FIXTURE_TEMPLATE_PATH, FIXTURE_APP_PATH
    end
  end
end