class PGTrunk::Operations::Functions::RenameFunction

@private

Public Instance Methods

invert() click to toggle source
# File lib/pg_trunk/operations/functions/rename_function.rb, line 44
def invert
  q_new_name = "#{new_name.schema}.#{new_name.routine}(#{name.args}) #{name.returns}"
  self.class.new(**to_h, name: q_new_name.strip, to: name)
end
to_sql(_version) click to toggle source
# File lib/pg_trunk/operations/functions/rename_function.rb, line 40
def to_sql(_version)
  [*change_schema, *change_name].join(" ")
end

Private Instance Methods

change_name() click to toggle source
# File lib/pg_trunk/operations/functions/rename_function.rb, line 57
def change_name
  return if new_name.routine == name.routine

  changed_name = name.merge(schema: new_name.schema).to_sql
  "ALTER FUNCTION #{changed_name} RENAME TO #{new_name.routine.inspect};"
end
change_schema() click to toggle source
# File lib/pg_trunk/operations/functions/rename_function.rb, line 51
def change_schema
  return if name.schema == new_name.schema

  "ALTER FUNCTION #{name.to_sql} SET SCHEMA #{new_name.schema.inspect};"
end