module Fx::CommandRecorder

@api private

Public Instance Methods

create_function(*args) click to toggle source
# File lib/fx/command_recorder.rb, line 4
def create_function(*args)
  record(:create_function, args)
end
create_trigger(*args) click to toggle source
# File lib/fx/command_recorder.rb, line 28
def create_trigger(*args)
  record(:create_trigger, args)
end
drop_function(*args) click to toggle source
# File lib/fx/command_recorder.rb, line 8
def drop_function(*args)
  record(:drop_function, args)
end
drop_trigger(*args) click to toggle source
# File lib/fx/command_recorder.rb, line 32
def drop_trigger(*args)
  record(:drop_trigger, args)
end
invert_create_function(args) click to toggle source
# File lib/fx/command_recorder.rb, line 16
def invert_create_function(args)
  [:drop_function, args]
end
invert_create_trigger(args) click to toggle source
# File lib/fx/command_recorder.rb, line 40
def invert_create_trigger(args)
  [:drop_trigger, args]
end
invert_drop_function(args) click to toggle source
# File lib/fx/command_recorder.rb, line 20
def invert_drop_function(args)
  perform_inversion(:create_function, args)
end
invert_drop_trigger(args) click to toggle source
# File lib/fx/command_recorder.rb, line 44
def invert_drop_trigger(args)
  perform_inversion(:create_trigger, args)
end
invert_update_function(args) click to toggle source
# File lib/fx/command_recorder.rb, line 24
def invert_update_function(args)
  perform_inversion(:update_function, args)
end
invert_update_trigger(args) click to toggle source
# File lib/fx/command_recorder.rb, line 48
def invert_update_trigger(args)
  perform_inversion(:update_trigger, args)
end
update_function(*args) click to toggle source
# File lib/fx/command_recorder.rb, line 12
def update_function(*args)
  record(:update_function, args)
end
update_trigger(*args) click to toggle source
# File lib/fx/command_recorder.rb, line 36
def update_trigger(*args)
  record(:update_trigger, args)
end

Private Instance Methods

perform_inversion(method, args) click to toggle source
# File lib/fx/command_recorder.rb, line 54
def perform_inversion(method, args)
  arguments = Arguments.new(args)

  if arguments.revert_to_version.nil?
    message = "`#{method}` is reversible only if given a `revert_to_version`"
    raise ActiveRecord::IrreversibleMigration, message
  end

  [method, arguments.invert_version.to_a]
end