Sha256: 43415a3d8402984124d112fa79d56ffee6ba264b002a995521ffc1dbb749150c
Contents?: true
Size: 1.02 KB
Versions: 4
Compression:
Stored size: 1.02 KB
Contents
module Polo class Configuration attr_reader :on_duplicate_strategy, :blacklist, :adapter 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 # TODO: document this # This normalizes an array or hash of fields to a hash of # { field_name => strategy } 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 def on_duplicate(strategy) @on_duplicate_strategy = strategy end def set_adapter(db) @adapter = db end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
polo-0.5.0 | lib/polo/configuration.rb |
polo-0.4.1 | lib/polo/configuration.rb |
polo-0.4.0 | lib/polo/configuration.rb |
polo-0.3.0 | lib/polo/configuration.rb |