-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