Sha256: 1a5a7fdde3513e94d64e735eb967b07805c884016020ce0938c0d07c3790f5c1
Contents?: true
Size: 925 Bytes
Versions: 5
Compression:
Stored size: 925 Bytes
Contents
# frozen_string_literal: true module PGTrunk # @private # The module record commands done during a migration. module CommandRecorder # @param [PGTrunk::Operation] klass def self.register(klass) define_method(klass.ruby_name) do |*args, &block| record(klass.ruby_name, args, &block) end end # @param [PGTrunk::Operation] klass def self.register_inversion(klass) define_method(klass.ruby_iname) do |args, &block| original = klass.from_ruby(*args, &block) inverted = original.invert! # for example (skip_inversion(:validate_foreign_key)) return [:skip_inversion, [klass.ruby_name]] unless inverted # list of attributes `to_a` is added for reporting to stdout params = inverted.to_a opts = inverted.to_opts params << opts if opts.present? [inverted.class.ruby_name, params] end end end end
Version data entries
5 entries across 5 versions & 1 rubygems