Class: Notifun::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/notifun/install_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object



47
48
49
# File 'lib/generators/notifun/install_generator.rb', line 47

def self.next_migration_number(dirname)
  ActiveRecord::Generators::Base.next_migration_number(dirname)
end

Instance Method Details

#copy_config_fileObject



21
22
23
24
25
26
27
# File 'lib/generators/notifun/install_generator.rb', line 21

def copy_config_file
  if File.exists?("config/initializers/notifun.rb")
    puts "Skipping config/initializers/notifun.rb"
  else
    copy_file "notifun.rb", "config/initializers/notifun.rb"
  end
end

#copy_json_fileObject



29
30
31
32
33
34
35
# File 'lib/generators/notifun/install_generator.rb', line 29

def copy_json_file
  if File.exists?("config/notifun_templates.json")
    puts "Skipping config/notifun_templates.json"
  else
    copy_file "notifun_templates.json", "config/notifun_templates.json"
  end
end

#copy_notifun_migrationObject



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/generators/notifun/install_generator.rb', line 9

def copy_notifun_migration
  if !ActiveRecord::Base.connection.table_exists?('notifun_message_templates')
    migration_template "migration.rb", "db/migrate/notifun_create_tables.rb"
  else
    puts "Skipping db/migrate/notifun_create_tables.rb"
    Notifun::MessageTemplate.reset_column_information
    if !Notifun::MessageTemplate.column_names.include?("push_title")
      migration_template "notifun_add_push_title.rb", "db/migrate/notifun_add_push_title.rb"
    end
  end
end

#migration_versionObject



41
42
43
44
45
# File 'lib/generators/notifun/install_generator.rb', line 41

def migration_version
  if rails5?
    "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
  end
end

#rails5?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/generators/notifun/install_generator.rb', line 37

def rails5?
  Rails.version.start_with? '5'
end