Sha256: c62eef807e4e19dbaf1163ee329716c500e46f3978f45c957b16a503beb1111a

Contents?: true

Size: 566 Bytes

Versions: 1

Compression:

Stored size: 566 Bytes

Contents

# frozen_string_literal: true

module ROM
  module SQL
    module Migration
      # @api private
      class Recorder
        attr_reader :operations

        def initialize(&)
          @operations = []

          instance_exec(&) if block_given?
        end

        private

        def respond_to_missing?(_m, _include_private = false)
          true
        end

        def method_missing(m, *args, &)
          nested = block_given? ? Recorder.new(&).operations : EMPTY_ARRAY
          @operations << [m, args, nested]
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rom-sql-3.7.0 lib/rom/sql/migration/recorder.rb