| Class | DBI::Type::Boolean |
| In: |
lib/dbi/types.rb
|
| Parent: | Null |
# File lib/dbi/types.rb, line 185
185: def self.parse(obj)
186: obj = super
187:
188: return nil if obj.nil?
189:
190: if obj == false or obj.kind_of? FalseClass
191: return false
192: elsif obj.kind_of? TrueClass
193: return true
194: else
195: case obj
196: when 't'
197: return true
198: when 'f'
199: return false
200: end
201:
202: if obj.respond_to? :to_i
203: if obj.to_i == 0
204: return false
205: else
206: return true
207: end
208: else
209: # punt
210: return nil
211: end
212: end
213: end