summaryrefslogtreecommitdiff
path: root/app/models/gateway.rb
diff options
context:
space:
mode:
authorStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-01-22 15:33:06 +0100
committerStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-01-22 15:33:06 +0100
commit39aa7132ceed3d4beab3a9b828e571bbfc67c07e (patch)
tree6c88289c9f99be0af8635636fcdf64102090e5ec /app/models/gateway.rb
parent5ad8203ce4f1bfea997960d0b52c626dea24b944 (diff)
parent6f69c1a85055ec7c2515719d79d2a7a4e60cec50 (diff)
Merge branch 'develop'5.1-beta1
Diffstat (limited to 'app/models/gateway.rb')
-rw-r--r--app/models/gateway.rb35
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