SQL Decimal Support plugin
Při implementaci aplikace, která pracuje s peněžními hodnotami jsem byl postaven před problém formátu pro ukládání. Po vyzkoušení několika různých způsobů jsem došel k závěru, že takto opravdu nelze. Přitom vývojová verze Rails má již implementovánu nativní podporu decimal typu v databázi s konverzí na BigDecimal třídu ruby (pevná řádová čárka).
Objevil jsem tento plugin - http://www.ashleymoran.me.uk/sqldecimalsupport.tgz - který dodává podporu typu decimal do SQL adaptérů a to jak pro migraci, tak pro konverzi při ukládání a získávání dat z DB.
Jelikož Rails On The Edge obsahují také v balíčku ActiveSupport::CoreExtensions potřebné konverze, tyto jsem k tomuto pluginu dodal a nyní jej používám ke své plné spokojenosti. Již nemusím vytvářet dodatečné getter a setter metody, či používat agregační objekty, nebo nedejbože starat se o chyby v plovoucí řádové čárce při práci s typem Float. Vše funguje tak jak má a jak již mělo fungovat dávno, kdyby na tuto, podle mě základní věc, vývojáři mysleli.
Plugin originálně převzat od Ashley Moran, http://www.ashleymoran.me.uk/sqldecimalsupport.tgz
Posted in Programování | no comments | atom