I mentioned a "percentage" column in my database in a different thread. It's a
customized numeric type that can only range from 0.0000 to 1.0000. (Yes,
'percentage' is a bit of a misnomer: it needs to be multiplied by 100 to
actually be a percentage.) When I retrieve a value from this column, let's say
it's 10%, instead of getting "0.1" I get #<BigDecimal:1017afd30,'0.1E0',4(12)>.
This was what I did to get it to provide a float:
class Component < Sequel::Model
alias_method :bdpercentage, :percentage
def percentage
bdpercentage.to_f
end
end
It seems to work, but I haven't been using Sequel long enough to know for sure
what the ramifications might be. Will I need to also define a setter on
percentage, or will a float automatically convert back to something Postgres
would accept? (I might want to add a validator, of course, since Postgres will
reject an attempt to set percentage to "1.3", for instance.)
--
You received this message because you are subscribed to the Google Groups
"sequel-talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sequel-talk?hl=en.