summaryrefslogtreecommitdiff
path: root/app/models/address.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/address.rb')
-rw-r--r--app/models/address.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/app/models/address.rb b/app/models/address.rb
index a19addc..260407d 100644
--- a/app/models/address.rb
+++ b/app/models/address.rb
@@ -1,2 +1,26 @@
+# frozen_string_literal: true
+
+# Address
+# number: string
+# street: string
+# zip_code: string
+# country: string
+# city: string
class Address < ApplicationRecord
+ has_many :user_account_addresses
+ has_many :user_accounts, through: :user_account_addresses
+
+ validates :number, presence: true
+ validates :number, comparison: { greater_than_or_equal_to: 0 }
+ validates :street, presence: true
+ validates :zip_code, presence: true
+ validates :country, presence: true
+ validate :valid_country
+ validates :city, presence: true
+
+ def valid_country
+ return unless Country[country].nil?
+
+ errors.add(:country, 'Invalid country')
+ end
end