OSDN Git Service

94ff3c8b07b218c93da12bc1cd34dc4c9150cc9f
[mint/mint-server.git] / app / models / unit.rb
1 class Unit < ActiveRecord::Base
2
3   has_many :problmes
4
5   validates_presence_of :name
6   validates_length_of :name, :maximum => 40
7
8   validates_presence_of   :symbol
9   validates_length_of     :symbol, :maximum => 40, :allow_nil => true
10   validates_format_of     :symbol, :with => /\A[a-z_]+\z/
11   validates_uniqueness_of :symbol
12
13   def form_class
14     if form_class_name && !form_class_name.blank?
15       form_class_name.constantize
16     else
17       "#{symbol}_edit_form".classify.constantize
18     end
19   end
20
21   def form_template
22     "#{symbol}_edit_form"
23   end
24
25   def generator(amount)
26     Mint::Generator::Factory.create(symbol, amount)
27   end
28
29   def solver
30     Mint::Solver::Maxima::Factory.create(symbol)
31   end
32 end