]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/relation_member.rb
Merge remote-tracking branch 'upstream/pull/4304'
[rails.git] / app / models / relation_member.rb
index 9ff4f46f3b8b0b6ae4fb1b02ba49ccab25a71b66..8ff825cee5e3a8105b784f0faa483638cc7361a1 100644 (file)
@@ -1,23 +1,28 @@
-class RelationMember < ActiveRecord::Base
-  set_table_name 'current_relation_members'
-  
-  belongs_to :member, :polymorphic => true, :foreign_type => :member_class
-  belongs_to :relation, :foreign_key => :id
+# == Schema Information
+#
+# Table name: current_relation_members
+#
+#  relation_id :bigint(8)        not null, primary key
+#  member_type :enum             not null
+#  member_id   :bigint(8)        not null
+#  member_role :string           not null
+#  sequence_id :integer          default(0), not null, primary key
+#
+# Indexes
+#
+#  current_relation_members_member_idx  (member_type,member_id)
+#
+# Foreign Keys
+#
+#  current_relation_members_id_fkey  (relation_id => current_relations.id)
+#
 
-  def after_find
-    self[:member_class] = self.member_type.capitalize
-  end
+class RelationMember < ApplicationRecord
+  self.table_name = "current_relation_members"
+  self.primary_key = %w[relation_id sequence_id]
 
-  def after_initialize
-    self[:member_class] = self.member_type.capitalize
-  end
+  belongs_to :relation
+  belongs_to :member, :polymorphic => true
 
-  def before_save
-    self.member_type = self[:member_class].downcase
-  end
-
-  def member_type=(type)
-    self[:member_type] = type
-    self[:member_class] = type.capitalize
-  end
+  validates :member_role, :allow_blank => true, :length => { :maximum => 255 }, :characters => true
 end