module Scenic::CommandRecorder

@api private

Public Instance Methods

create_view(*args) click to toggle source
# File lib/scenic/command_recorder.rb, line 6
def create_view(*args)
  record(:create_view, args)
end
drop_view(*args) click to toggle source
# File lib/scenic/command_recorder.rb, line 11
def drop_view(*args)
  record(:drop_view, args)
end
invert_create_view(args) click to toggle source
# File lib/scenic/command_recorder.rb, line 26
def invert_create_view(args)
  drop_view_args = StatementArguments.new(args).remove_version.to_a
  [:drop_view, drop_view_args]
end
invert_drop_view(args) click to toggle source
# File lib/scenic/command_recorder.rb, line 31
def invert_drop_view(args)
  perform_scenic_inversion(:create_view, args)
end
invert_replace_view(args) click to toggle source
# File lib/scenic/command_recorder.rb, line 39
def invert_replace_view(args)
  perform_scenic_inversion(:replace_view, args)
end
invert_update_view(args) click to toggle source
# File lib/scenic/command_recorder.rb, line 35
def invert_update_view(args)
  perform_scenic_inversion(:update_view, args)
end
replace_view(*args) click to toggle source
# File lib/scenic/command_recorder.rb, line 21
def replace_view(*args)
  record(:replace_view, args)
end
update_view(*args) click to toggle source
# File lib/scenic/command_recorder.rb, line 16
def update_view(*args)
  record(:update_view, args)
end

Private Instance Methods

perform_scenic_inversion(method, args) click to toggle source
# File lib/scenic/command_recorder.rb, line 45
def perform_scenic_inversion(method, args)
  scenic_args = StatementArguments.new(args)

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

  [method, scenic_args.invert_version.to_a]
end