Sha256: 04d57e6636df21a34286d14485dacfdaf294d28a5a783a35e6346113fba6220c

Contents?: true

Size: 782 Bytes

Versions: 1

Compression:

Stored size: 782 Bytes

Contents

# encoding: utf-8

require 'my_obfuscate'

class Strike
  class Obfuscator
    def initialize(config = {})
      @adapter_source = config[:adapter_source]
    end

    # Obfuscates the data from input to output with the given information.
    #
    # @param [Hash] tables the tables definitions
    # @param [IO] input the input source to read from.
    # @param [IO] output the output source to write to.
    #
    # @return [nil]
    def call(tables, input, output)
      adapter = adapter_source.call(tables)
      adapter.globally_kept_columns = %w(id created_at updated_at)

      adapter.obfuscate(input, output)
    end

    # Adapter generator.
    def adapter_source
      @adapter_source ||= MyObfuscate.public_method(:new)
    end
    protected :adapter_source
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
strike-0.4.0 lib/strike/obfuscator.rb