tangled
alpha
login
or
join now
mackuba.eu
/
lycan
35
fork
atom
Don't forget to lycansubscribe
35
fork
atom
overview
issues
1
pulls
pipelines
extracted import_from_record to a module
mackuba.eu
5 months ago
296c986f
7139bb7e
+17
-35
2 changed files
expand all
collapse all
unified
split
app
models
user.rb
user_importable.rb
+5
-35
app/models/user.rb
···
7
7
require_relative 'pin'
8
8
require_relative 'post'
9
9
require_relative 'repost'
10
10
+
require_relative 'user_importable'
10
11
11
12
class User < ActiveRecord::Base
12
13
validates_presence_of :did
···
19
20
20
21
before_destroy :delete_posts_cascading
21
22
22
22
-
has_many :likes, foreign_key: 'actor_id', dependent: :delete_all do
23
23
-
def import_from_record(like_uri, record, **args)
24
24
-
like = self.new_from_record(like_uri, record)
25
25
-
return nil if like.nil? || self.where(rkey: like.rkey).exists?
26
26
-
27
27
-
like.import_item!(args)
28
28
-
end
29
29
-
end
30
30
-
31
31
-
has_many :reposts, foreign_key: 'actor_id', dependent: :delete_all do
32
32
-
def import_from_record(repost_uri, record, **args)
33
33
-
repost = self.new_from_record(repost_uri, record)
34
34
-
return nil if repost.nil? || self.where(rkey: repost.rkey).exists?
35
35
-
36
36
-
repost.import_item!(args)
37
37
-
end
38
38
-
end
39
39
-
40
40
-
has_many :quotes, foreign_key: 'actor_id', dependent: :delete_all do
41
41
-
def import_from_record(post_uri, record, **args)
42
42
-
quote = self.new_from_record(post_uri, record)
43
43
-
return nil if quote.nil? || self.where(rkey: quote.rkey).exists?
44
44
-
45
45
-
quote.import_item!(args)
46
46
-
end
47
47
-
end
48
48
-
49
49
-
has_many :pins, foreign_key: 'actor_id', dependent: :delete_all do
50
50
-
def import_from_record(post_uri, record, **args)
51
51
-
pin = self.new_from_record(post_uri, record)
52
52
-
return nil if pin.nil? || self.where(rkey: pin.rkey).exists?
53
53
-
54
54
-
pin.import_item!(args)
55
55
-
end
56
56
-
end
23
23
+
has_many :likes, foreign_key: 'actor_id', dependent: :delete_all, extend: UserImportable
24
24
+
has_many :reposts, foreign_key: 'actor_id', dependent: :delete_all, extend: UserImportable
25
25
+
has_many :quotes, foreign_key: 'actor_id', dependent: :delete_all, extend: UserImportable
26
26
+
has_many :pins, foreign_key: 'actor_id', dependent: :delete_all, extend: UserImportable
57
27
58
28
def self.active
59
29
self.joins(:imports).distinct
+12
app/models/user_importable.rb
···
1
1
+
module UserImportable
2
2
+
def import_from_record(item_uri, record, **args)
3
3
+
item = self.new_from_record(item_uri, record)
4
4
+
return nil if item.nil? || already_imported?(item)
5
5
+
6
6
+
item.import_item!(args)
7
7
+
end
8
8
+
9
9
+
def already_imported?(item)
10
10
+
self.where(rkey: item.rkey).exists?
11
11
+
end
12
12
+
end