/
migration_generator.rb
43 lines (37 loc) · 1.23 KB
/
migration_generator.rb
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
31
32
33
34
35
36
37
38
39
40
41
42
43
# frozen_string_literal: true
require 'rails/generators/migration'
require 'rails/generators/active_record'
module ActsAsMessageable
class MigrationGenerator < Rails::Generators::Base
include Rails::Generators::Migration
namespace 'acts_as_messageable:migration'
source_root File.join(File.dirname(__FILE__), 'templates')
argument :table_name, type: :string, default: 'messages'
def self.next_migration_number(dirname)
ActiveRecord::Generators::Base.next_migration_number(dirname)
end
def create_migration_file
begin
migration_template 'migration.rb', 'db/migrate/create_messages_table.rb'
rescue StandardError
nil
end
begin
migration_template 'migration_permanent.rb',
'db/migrate/add_recipient_permanent_delete_and_sender_permanent_delete_to_messages.rb'
rescue StandardError
nil
end
begin
migration_template 'migration_opened_as_datetime.rb', 'db/migrate/add_opened_at_to_messages.rb'
rescue StandardError
nil
end
begin
migration_template 'migration_indexes.rb', 'db/migrate/add_indexes_to_messages.rb'
rescue StandardError
nil
end
end
end
end