Sha256: fbb15981034dfd7e49397a558b2c1195df853172b4fd76bf14f143df9b38b933
Contents?: true
Size: 1.07 KB
Versions: 5
Compression:
Stored size: 1.07 KB
Contents
require "scenic/command_recorder/statement_arguments" module Scenic # @api private module CommandRecorder def create_view(*args) record(:create_view, args) end def drop_view(*args) record(:drop_view, args) end def update_view(*args) record(:update_view, args) end def replace_view(*args) record(:replace_view, args) end def invert_create_view(args) [:drop_view, args] end def invert_drop_view(args) perform_scenic_inversion(:create_view, args) end def invert_update_view(args) perform_scenic_inversion(:update_view, args) end def invert_replace_view(args) perform_scenic_inversion(:replace_view, args) end private 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 end end
Version data entries
5 entries across 5 versions & 1 rubygems