From c8d43a893da778d1fc1bab8e36ee740a7dd37ac7 Mon Sep 17 00:00:00 2001 From: Benjamin Neff Date: Fri, 17 Jun 2016 22:17:20 +0200 Subject: [PATCH] move Guid module to fields --- app/models/comment.rb | 3 +-- app/models/conversation.rb | 2 +- app/models/message.rb | 2 +- app/models/person.rb | 2 +- app/models/poll.rb | 2 +- app/models/poll_answer.rb | 2 +- app/models/poll_participation.rb | 2 +- lib/diaspora/fields/guid.rb | 18 ++++++++++++++++++ lib/diaspora/guid.rb | 14 -------------- lib/diaspora/shareable.rb | 2 +- lib/federated/relayable.rb | 2 +- 11 files changed, 27 insertions(+), 24 deletions(-) create mode 100644 lib/diaspora/fields/guid.rb delete mode 100644 lib/diaspora/guid.rb diff --git a/app/models/comment.rb b/app/models/comment.rb index cc0113ea2..0d0a82cd1 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -5,8 +5,7 @@ class Comment < ActiveRecord::Base include Diaspora::Federated::Base - - include Diaspora::Guid + include Diaspora::Fields::Guid include Diaspora::Fields::Author include Diaspora::Relayable diff --git a/app/models/conversation.rb b/app/models/conversation.rb index e22aab040..4802d247e 100644 --- a/app/models/conversation.rb +++ b/app/models/conversation.rb @@ -1,6 +1,6 @@ class Conversation < ActiveRecord::Base include Diaspora::Federated::Base - include Diaspora::Guid + include Diaspora::Fields::Guid include Diaspora::Fields::Author has_many :conversation_visibilities, dependent: :destroy diff --git a/app/models/message.rb b/app/models/message.rb index c4e5ccf0b..82c551262 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -1,6 +1,6 @@ class Message < ActiveRecord::Base include Diaspora::Federated::Base - include Diaspora::Guid + include Diaspora::Fields::Guid include Diaspora::Fields::Author belongs_to :conversation, touch: true diff --git a/app/models/person.rb b/app/models/person.rb index 2c51988fa..f936e318d 100644 --- a/app/models/person.rb +++ b/app/models/person.rb @@ -3,7 +3,7 @@ # the COPYRIGHT file. class Person < ActiveRecord::Base - include Diaspora::Guid + include Diaspora::Fields::Guid # NOTE API V1 to be extracted acts_as_api diff --git a/app/models/poll.rb b/app/models/poll.rb index b0669009c..fa9033577 100644 --- a/app/models/poll.rb +++ b/app/models/poll.rb @@ -1,6 +1,6 @@ class Poll < ActiveRecord::Base include Diaspora::Federated::Base - include Diaspora::Guid + include Diaspora::Fields::Guid belongs_to :status_message has_many :poll_answers, -> { order 'id ASC' } diff --git a/app/models/poll_answer.rb b/app/models/poll_answer.rb index 8fda3c5b3..3387efe09 100644 --- a/app/models/poll_answer.rb +++ b/app/models/poll_answer.rb @@ -1,6 +1,6 @@ class PollAnswer < ActiveRecord::Base include Diaspora::Federated::Base - include Diaspora::Guid + include Diaspora::Fields::Guid belongs_to :poll has_many :poll_participations diff --git a/app/models/poll_participation.rb b/app/models/poll_participation.rb index 7a2c0e360..7d7d97e2e 100644 --- a/app/models/poll_participation.rb +++ b/app/models/poll_participation.rb @@ -1,6 +1,6 @@ class PollParticipation < ActiveRecord::Base include Diaspora::Federated::Base - include Diaspora::Guid + include Diaspora::Fields::Guid include Diaspora::Fields::Author include Diaspora::Relayable diff --git a/lib/diaspora/fields/guid.rb b/lib/diaspora/fields/guid.rb new file mode 100644 index 000000000..16876c9aa --- /dev/null +++ b/lib/diaspora/fields/guid.rb @@ -0,0 +1,18 @@ +module Diaspora + module Fields + module Guid + # Creates a after_initialize callback which calls #set_guid + def self.included(model) + model.class_eval do + after_initialize :set_guid + validates :guid, uniqueness: true + end + end + + # @return [String] The model's guid. + def set_guid + self.guid = UUID.generate(:compact) if guid.blank? + end + end + end +end diff --git a/lib/diaspora/guid.rb b/lib/diaspora/guid.rb deleted file mode 100644 index 531cae902..000000000 --- a/lib/diaspora/guid.rb +++ /dev/null @@ -1,14 +0,0 @@ -module Diaspora::Guid - # Creates a before_create callback which calls #set_guid - def self.included(model) - model.class_eval do - after_initialize :set_guid - validates :guid, :uniqueness => true - end - end - - # @return [String] The model's guid. - def set_guid - self.guid = UUID.generate :compact if self.guid.blank? - end -end diff --git a/lib/diaspora/shareable.rb b/lib/diaspora/shareable.rb index 5adee7053..44744f6be 100644 --- a/lib/diaspora/shareable.rb +++ b/lib/diaspora/shareable.rb @@ -8,7 +8,7 @@ module Diaspora module Shareable def self.included(model) model.instance_eval do - include Diaspora::Guid + include Diaspora::Fields::Guid include Diaspora::Fields::Author has_many :aspect_visibilities, as: :shareable, validate: false, dependent: :delete_all diff --git a/lib/federated/relayable.rb b/lib/federated/relayable.rb index e3973185e..0cbe1adbf 100644 --- a/lib/federated/relayable.rb +++ b/lib/federated/relayable.rb @@ -3,7 +3,7 @@ module Federated self.abstract_class = true include Diaspora::Federated::Base - include Diaspora::Guid + include Diaspora::Fields::Guid include Diaspora::Fields::Author include Diaspora::Relayable