@@ -16,7 +16,6 @@ class Team < ActiveRecord::Base
16
16
include TeamSearch
17
17
include SearchModule
18
18
19
-
20
19
mount_uploader :avatar , TeamUploader
21
20
22
21
scope :featured , -> { where ( premium : true , valid_jobs : true , hide_from_featured : false ) }
@@ -104,7 +103,7 @@ def self.search(query_string, country, page, per_page, search_type = :query_and_
104
103
filter :term , country : country unless country . nil?
105
104
sort { by [ { score : 'desc' , total_member_count : 'desc' , '_score' => { } } ] }
106
105
end
107
- rescue Tire ::Search ::SearchRequestFailed => e
106
+ rescue Tire ::Search ::SearchRequestFailed
108
107
SearchResultsWrapper . new ( nil , "Looks like our teams server is down. Try again soon." )
109
108
end
110
109
end
@@ -378,16 +377,19 @@ def has_specialties?
378
377
def specialties_with_counts
379
378
@specialties_with_counts ||= begin
380
379
specialties = { }
380
+
381
381
members . each do |user |
382
382
user . speciality_tags . each do |tag |
383
383
tag = tag . downcase
384
384
specialties [ tag ] = 0 if specialties [ tag ] . blank?
385
385
specialties [ tag ] += 1
386
386
end
387
387
end
388
- unless only_one_occurence_of_each = specialties . values . sum == specialties . values . length
388
+
389
+ unless specialties . values . sum == specialties . values . length
389
390
specialties . reject! { |k , v | v <= 1 }
390
391
end
392
+
391
393
specialties . sort_by { |k , v | v } . reverse [ 0 ..7 ]
392
394
end
393
395
end
@@ -430,6 +432,7 @@ def sorted_members
430
432
431
433
def add_user ( user )
432
434
touch!
435
+
433
436
user . tap do |u |
434
437
u . update_attribute ( :team_document_id , id . to_s )
435
438
u . save!
@@ -439,7 +442,9 @@ def add_user(user)
439
442
def add_member ( user )
440
443
Rails . logger . warn ( "Called #{ self . class . name } #add_member(#{ user . inspect } " )
441
444
442
- return member if member = members . select { |m | m . user_id == user . id }
445
+ member = members . select { |m | m . user_id == user . id } . first
446
+ return member if member
447
+
443
448
member = members . create ( user_id : user . id )
444
449
save!
445
450
member
@@ -450,7 +455,9 @@ def remove_member(user)
450
455
members . destroy ( member )
451
456
save!
452
457
end
458
+
453
459
attr_accessor :skip_validations
460
+
454
461
def touch!
455
462
self . updated_at = Time . now . utc
456
463
save! ( validate : !skip_validations )
@@ -573,7 +580,7 @@ def predominant
573
580
def admin? ( user )
574
581
return false if user . nil?
575
582
return true if user . admin?
576
- if everyone_is_an_admin = admins . empty?
583
+ if admins . empty?
577
584
members . include? ( user )
578
585
else
579
586
admins . include? ( user . id )
@@ -781,9 +788,12 @@ def latest_editors
781
788
end
782
789
783
790
def video_url
784
- if self . youtube_url =~ /vimeo\. com\/ (\d +)/
791
+ youtube_pattern = /(youtube\. com|youtu\. be)\/ (watch\? v=)?([\w \- _]{11})/i
792
+ vimeo_pattern = /vimeo\. com\/ (\d +)/
793
+
794
+ if self . youtube_url =~ vimeo_pattern
785
795
"https://player.vimeo.com/video/#{ $1} "
786
- elsif self . youtube_url =~ /(youtube \. com|youtu \. be) \/ (watch \? v=)?([ \w \- _]{11})/i
796
+ elsif self . youtube_url =~ youtube_pattern
787
797
"https://www.youtube.com/embed/#{ $3} "
788
798
else
789
799
self . youtube_url
0 commit comments