class Pg::Generators::TypeGenerator
def self.next_migration_number(dirname)
def self.next_migration_number(dirname) ActiveRecord::Generators::Base.next_migration_number(dirname) end
def create_migration_file
def create_migration_file @version = options[:version] @type_name = file_name @migration_version = migration_version migration_template( "migration.rb.erb", "db/migrate/create_type_#{file_name}.rb" ) end
def create_type_file
def create_type_file @version = options[:version] @type_name = file_name @fields = parse_fields(options[:fields]) template( "type.sql.erb", "db/types/#{file_name}_v#{@version}.sql" ) end
def migration_version
def migration_version "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]" end
def parse_fields(fields)
def parse_fields(fields) fields.map do |field| name, type = field.split(":") { name: name, type: type || "text" } end end