@@ -8,6 +8,7 @@ class Team
8
8
include Tire ::Model ::Search
9
9
include LeaderboardRedisRank
10
10
include SearchModule
11
+ include TeamAnalytics
11
12
12
13
# Disabled Team indexing because it slows down updates
13
14
# we should BG this
@@ -403,7 +404,7 @@ def has_featured_links?
403
404
end
404
405
405
406
def has_upcoming_events?
406
- ! upcoming_events . blank?
407
+ false
407
408
end
408
409
409
410
def has_team_blog?
@@ -717,13 +718,6 @@ def fix_website_url!
717
718
end
718
719
end
719
720
720
- #Will delete , it not even working
721
- def upcoming_events
722
- team_members . collect do |member |
723
-
724
- end
725
- end
726
-
727
721
def active_jobs
728
722
jobs [ 0 ...4 ]
729
723
end
@@ -741,59 +735,10 @@ def all_jobs
741
735
Opportunity . where ( team_document_id : self . id . to_s ) . order ( 'created_at DESC' )
742
736
end
743
737
744
- def record_exit ( viewer , exit_url , exit_target_type , furthest_scrolled , time_spent )
745
- epoch_now = Time . now . to_i
746
- data = visitor_data ( exit_url , exit_target_type , furthest_scrolled , time_spent , ( viewer . respond_to? ( :id ) && viewer . try ( :id ) ) || viewer , epoch_now , nil )
747
- Redis . current . zadd ( user_detail_views_key , epoch_now , data )
748
- end
749
-
750
- def detailed_visitors ( since = 0 )
751
- Redis . current . zrangebyscore ( user_detail_views_key , since , Time . now . to_i ) . map do |visitor_string |
752
- visitor = HashStringParser . better_than_eval ( visitor_string )
753
- visitor [ :user ] = identify_visitor ( visitor [ :user_id ] )
754
- visitor
755
- end
756
- end
757
-
758
- def simple_visitors ( since = 0 )
759
- all_visitors = Redis . current . zrangebyscore ( user_views_key , since , Time . now . to_i , withscores : true ) + fRedis . current . zrangebyscore ( user_anon_views_key , since , Time . now . to_i , withscores : true )
760
- Hash [ *all_visitors . flatten ] . collect do |viewer_id , timestamp |
761
- visitor_data ( nil , nil , nil , 0 , viewer_id , timestamp , identify_visitor ( viewer_id ) )
762
- end
763
- end
764
738
765
- def visitors ( since = 0 )
766
- detailed_visitors = self . detailed_visitors
767
- first_detailed_visit = detailed_visitors . last . nil? ? self . updated_at : detailed_visitors . first [ :visited_at ]
768
- self . detailed_visitors ( since ) + self . simple_visitors ( since == 0 ? first_detailed_visit . to_i : since )
769
- end
770
739
771
- SECTIONS = %w( team-details members about-members big-headline big-quote challenges favourite-benefits organization-style office-images jobs stack protips why-work interview-steps locations team-blog )
772
740
SECTION_FIELDS = %w( about headline big_quote our_challenge benefit_description_1 organization_way office_photos stack_list reason_name_1 interview_steps team_locations blog_feed )
773
741
774
- def aggregate_visitors ( since = 0 )
775
- aggregate = { }
776
- visitors ( since ) . map do |visitor |
777
- user_id = visitor [ :user_id ] . to_i
778
- aggregate [ user_id ] ||= visitor
779
- aggregate [ user_id ] . merge! ( visitor ) do |key , old , new |
780
- case key
781
- when :time_spent
782
- old . to_i + new . to_i
783
- when :visited_at
784
- [ old . to_i , new . to_i ] . max
785
- when :furthest_scrolled
786
- SECTIONS [ [ SECTIONS . index ( old ) || 0 , SECTIONS . index ( new ) || 0 ] . max ]
787
- else
788
- old . nil? ? new : old
789
- end
790
- end
791
- aggregate [ user_id ] [ :visits ] ||= 0
792
- aggregate [ user_id ] [ :visits ] += 1
793
-
794
- end
795
- aggregate . values . sort { |a , b | b [ :visited_at ] <=> a [ :visited_at ] }
796
- end
797
742
798
743
def visitors_interested_in_jobs
799
744
aggregate_visitors . select { |visitor | visitor [ :exit_target_type ] == 'job-opportunity' } . collect { |visitor | visitor [ :user_id ] }
@@ -807,10 +752,6 @@ def click_through_rate
807
752
self . visitors_interested_in_jobs . count /self . total_views ( self . upgraded_at )
808
753
end
809
754
810
- def sections_up_to ( furthest )
811
- SECTIONS . slice ( 0 , SECTIONS . index ( furthest ) )
812
- end
813
-
814
755
def coderwall?
815
756
slug == 'coderwall'
816
757
end
@@ -846,15 +787,6 @@ def has_specified_enough_info?
846
787
number_of_completed_sections >= 6
847
788
end
848
789
849
- def number_of_completed_sections ( *excluded_sections )
850
- completed_sections = 0
851
-
852
- ( SECTIONS - excluded_sections ) . map { |section | "has_#{ section . gsub ( /-/ , '_' ) } ?" } . each do |section_complete |
853
- completed_sections +=1 if self . respond_to? ( section_complete ) && self . send ( section_complete )
854
- end
855
- completed_sections
856
- end
857
-
858
790
def has_team_details?
859
791
has_external_link? and !self . about . nil? and !self . avatar . nil?
860
792
end
0 commit comments