Sha256: 7b37cada862bd4150c4781a2cd09192ffd75b738140be782244dafa921da97a8
Contents?: true
Size: 650 Bytes
Versions: 2
Compression:
Stored size: 650 Bytes
Contents
module Mutations class SymbolFilter < AdditionalFilter @default_options = { :nils => false, # true allows an explicit nil to be valid. Overrides any other options :in => nil, # Can be an array like %i(red blue green) } def filter(data) if data.nil? return [nil, nil] if options[:nils] return [nil, :nils] end case data when Symbol # we're good! when String then data = data.to_sym else return [nil, :symbol] end # Ensure it matches `in` return [data, :in] if options[:in] && !options[:in].include?(data) [data, nil] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mutations-0.9.1 | lib/mutations/symbol_filter.rb |
mutations-0.9.0 | lib/mutations/symbol_filter.rb |