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