class RecordsRip::InstallGenerator
Constants
- MYSQL_ADAPTERS
Public Class Methods
next_migration_number(dirname)
click to toggle source
# File lib/generators/records_rip/install/install_generator.rb, line 17 def self.next_migration_number(dirname) ::ActiveRecord::Generators::Base.next_migration_number(dirname) end
Public Instance Methods
create_migration_file()
click to toggle source
# File lib/generators/records_rip/install/install_generator.rb, line 21 def create_migration_file add_records_rip_migration("create_tombs", item_type_options: item_type_options, tombs_table_options: tombs_table_options) end
Private Instance Methods
add_records_rip_migration(template, extra_options = {})
click to toggle source
# File lib/generators/records_rip/install/install_generator.rb, line 47 def add_records_rip_migration(template, extra_options = {}) migration_dir = File.expand_path("db/migrate") if self.class.migration_exists?(migration_dir, template) ::Kernel.warn "Migration already exists: #{template}" else migration_template( "#{template}.rb.erb", "db/migrate/#{template}.rb", {migration_version: migration_version}.merge(extra_options) ) end end
item_type_options()
click to toggle source
# File lib/generators/records_rip/install/install_generator.rb, line 29 def item_type_options opt = {null: false} opt[:limit] = 191 if mysql? ", #{opt}" end
migration_version()
click to toggle source
# File lib/generators/records_rip/install/install_generator.rb, line 60 def migration_version major = ActiveRecord::VERSION::MAJOR if major >= 5 "[#{major}.#{ActiveRecord::VERSION::MINOR}]" end end
mysql?()
click to toggle source
# File lib/generators/records_rip/install/install_generator.rb, line 35 def mysql? MYSQL_ADAPTERS.include?(ActiveRecord::Base.connection.class.name) end
tombs_table_options()
click to toggle source
# File lib/generators/records_rip/install/install_generator.rb, line 39 def tombs_table_options if mysql? ', { options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci" }' else "" end end