blob: 5d1f1a1c201c43e1c04f9a107ea7cdd38d1adb54 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
module ObjectidSupport
extend ActiveSupport::Concern
included do
before_validation :before_validation_objectid, unless: Proc.new {|model| model.read_attribute(:objectid)}
after_commit :after_commit_objectid, on: :create, if: Proc.new {|model| model.read_attribute(:objectid).try(:include?, '__pending_id__')}
validates_presence_of :objectid
validates_uniqueness_of :objectid, skip_validation: Proc.new {|model| model.read_attribute(:objectid).nil?}
def before_validation_objectid
self.referential.objectid_formatter.before_validation self
end
def after_commit_objectid
self.referential.objectid_formatter.after_commit self
end
def get_objectid
self.referential.objectid_formatter.get_objectid read_attribute(:objectid) if self.referential.objectid_format && read_attribute(:objectid)
end
def objectid
get_objectid.try(:to_s)
end
def objectid_class
get_objectid.try(:class)
end
def raw_objectid
read_attribute(:objectid)
end
end
end
|