class Polo::Configuration

Attributes

adapter[R]
blacklist[R]
on_duplicate_strategy[R]

Public Class Methods

new(options={}) click to toggle source
# File lib/polo/configuration.rb, line 6
def initialize(options={})
  options = { on_duplicate: nil, obfuscate: {}, adapter: :mysql }.merge(options)
  @adapter = options[:adapter]
  @on_duplicate_strategy = options[:on_duplicate]
  obfuscate(options[:obfuscate])
end

Public Instance Methods

obfuscate(*fields) click to toggle source

TODO: document this This normalizes an array or hash of fields to a hash of { field_name => strategy }

# File lib/polo/configuration.rb, line 16
def obfuscate(*fields)
  if fields.is_a?(Array)
    fields = fields.flatten
  end

  fields_and_strategies = {}

  fields.each do |field|
    if field.is_a?(Symbol) || field.is_a?(String)
      fields_and_strategies[field] = nil
    elsif field.is_a?(Hash)
      fields_and_strategies = fields_and_strategies.merge(field)
    end
  end

  @blacklist = fields_and_strategies
end
on_duplicate(strategy) click to toggle source
# File lib/polo/configuration.rb, line 34
def on_duplicate(strategy)
  @on_duplicate_strategy = strategy
end
set_adapter(db) click to toggle source
# File lib/polo/configuration.rb, line 38
def set_adapter(db)
  @adapter = db
end