diff options
Diffstat (limited to 'app/models/gateway.rb')
-rw-r--r-- | app/models/gateway.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/app/models/gateway.rb b/app/models/gateway.rb new file mode 100644 index 0000000..3e791a6 --- /dev/null +++ b/app/models/gateway.rb @@ -0,0 +1,35 @@ +class Gateway < ActiveRecord::Base + TECHNOLOGIES = ['sip'] + + attr_accessible :name, :technology, :inbound, :outbound, :description + + has_many :gateway_settings, :dependent => :destroy + has_many :gateway_parameters, :dependent => :destroy + + validates :name, + :presence => true, + :uniqueness => true + + validates :technology, + :presence => true, + :inclusion => { :in => TECHNOLOGIES } + + after_initialize :set_defaults + before_validation :downcase_technology + + def to_s + name + end + + private + def downcase_technology + self.technology = self.technology.downcase if !self.technology.blank? + end + + def set_defaults + if TECHNOLOGIES.count == 1 + self.technology = TECHNOLOGIES.first + end + end + +end |