さまざまな企業の販売手数料を計算する必要がある RoR アプリケーションを構築しています。アプリケーションが稼働した後、新しい企業が使用を開始すると、新しい手数料モデルが登場します。これらのコミッションは通常、複雑な MS Excel 式として表されますが、常にではありません。これらを Ruby に再実装する必要があります。
例として、コミッション モデルは以下の行を合計したものです。
column_1 * ( column_2 / column_3)
if ( column_6 > column_1 ) column_5 * column_4
if ( column_2 < column_1 ) column_2
稼働後に新しい手数料モデルがあることを考えると、これらをデータベースに保存する最良の方法は何ですか? (この部分は過度にユーザーフレンドリーである必要はありません。新しいモデルを追加するのは開発者だけです)
eval
明らかに、これはDBから上記を読み取ることで実行できます。セキュリティ上の懸念は別として、「クリーンな」ソリューションとは思えません。
他にどうすればこれに取り組むことができますか?
私は DSL を研究しており、Excel ファイルをブラック ボックスの電卓やフォーミュラ ジェムとして使用していますが、これを行う良い方法を見つけるのに苦労しています。
ティア