Sha256: d2ea8cd07046d9bdee7fee88d69608b618926771b4e58b81634a69ecad8a90ed
Contents?: true
Size: 1.34 KB
Versions: 1
Compression:
Stored size: 1.34 KB
Contents
module Mongoo class AttributeSanitizer class << self def sanitize(field_type, val) return val if val.nil? || field_type.nil? case field_type.to_sym when :* val when :string then val.is_a?(String) ? val : val.to_s when :symbol then val.is_a?(Symbol) ? val : val.to_sym when :integer then val.is_a?(Fixnum) ? val : val.to_i when :float then val.is_a?(Float) ? val : val.to_f when :array then val.is_a?(Array) ? val : [val] when :bson_object_id then val.is_a?(BSON::ObjectId) ? val : BSON::ObjectId(val) when :hash then val.is_a?(Hash) ? val : raise(InvalidAttributeValue, val.inspect) when :time then Time.parse(val.to_s) when :db_ref then val.is_a?(BSON::DBRef) ? val : BSON::DBRef.new(val.collection.name, val.id) when :bool then if [true,false].include?(val) val elsif ["t","1","true","y","yes"].include?(val.to_s.downcase) true elsif ["f","0","false","n","no"].include?(val.to_s.downcase) false end when :html_escaped_string then ERB::Util.html_escape(val.to_s) end # case end # sanitize end # << self end # AttributeSanitizer end # Mongoo
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mongoo-0.5.7 | lib/mongoo/attribute_sanitizer.rb |