From 1c291260a282822d92191d2bbc7143b02b846cd4 Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Fri, 17 Jun 2016 22:25:16 +0200 Subject: [PATCH] create module for target association --- lib/diaspora/fields/target.rb | 14 ++++++++++++++ lib/federated/relayable.rb | 6 +----- 2 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 lib/diaspora/fields/target.rb diff --git a/lib/diaspora/fields/target.rb b/lib/diaspora/fields/target.rb new file mode 100644 index 000000000..1fbbf9796 --- /dev/null +++ b/lib/diaspora/fields/target.rb @@ -0,0 +1,14 @@ +module Diaspora + module Fields + module Target + def self.included(model) + model.class_eval do + belongs_to :target, polymorphic: true + + validates :target_id, uniqueness: {scope: %i(target_type author_id)} + validates :target, presence: true + end + end + end + end +end diff --git a/lib/federated/relayable.rb b/lib/federated/relayable.rb index 0cbe1adbf..4b249d513 100644 --- a/lib/federated/relayable.rb +++ b/lib/federated/relayable.rb @@ -5,14 +5,10 @@ module Federated include Diaspora::Federated::Base include Diaspora::Fields::Guid include Diaspora::Fields::Author + include Diaspora::Fields::Target include Diaspora::Relayable - belongs_to :target, polymorphic: true - alias_attribute :parent, :target - - validates :target_id, uniqueness: {scope: %i(target_type author_id)} - validates :target, presence: true # should be in relayable (pending on fixing Message) end end