@@ -5,6 +5,8 @@ class User
55 include Mongoid ::Timestamps
66 include Mongoid ::Slug
77
8+ include UserSync
9+
810 field :first_name , type : String
911 field :last_name , type : String
1012 field :website , type : String
@@ -21,9 +23,7 @@ class User
2123 validates :website , uniqueness : true , presence : true , website : true , unless : :skip_get_website_titles
2224
2325 after_save :get_website_titles , unless : :skip_get_website_titles
24- after_save :sync_neoj4
2526 after_create :clear_database
26- before_destroy :destroy_neoj4
2727
2828 def full_name
2929 [ first_name , last_name ] . join ( ' ' )
@@ -46,35 +46,6 @@ def get_website_titles
4646 reload_titles!
4747 end
4848
49- def sync_neoj4
50- return unless ( changed_attributes . keys - [ 'updated_at' ] ) . any?
51-
52- params = attributes . slice ( *%w[
53- first_name
54- last_name
55- website
56- titles
57- subtitles
58- introduction
59- ] ) . merge ( { 'skip_get_website_titles' => true } )
60-
61- if neo4j_uuid . present?
62- user = UserNeo4j . find ( neo4j_uuid )
63- user . update ( params )
64- else
65- user = UserNeo4j . create ( params )
66- set ( { neo4j_uuid : user . uuid } )
67- end
68- end
69-
70- def destroy_neoj4
71- return unless neo4j_uuid . present?
72-
73- UserNeo4j . find ( neo4j_uuid ) . destroy rescue nil
74-
75- update ( { neo4j_uuid : nil } )
76- end
77-
7849 # preventing misuse of the application in an open environment
7950 def clear_database
8051 return if User . count <= 25
0 commit comments