VRFS-3036 band search querying

This commit is contained in:
Jonathan Kolyer 2015-05-22 12:09:14 +00:00
parent da58ac6eab
commit cb7b48b4ec
1 changed files with 65 additions and 4 deletions

View File

@ -106,12 +106,73 @@ module JamRuby
end
def self.search_target_class
User
Band
end
def do_search(params={})
rel = User.musicians.where('users.id <> ?', self.user.id)
rel = self._sort_order(rel)
def _sort_order(rel, filter)
rel
end
def _genres(rel, filter)
super(rel, filter)
end
def _instruments(rel, filter)
rel
end
def _concert_gigs(rel, filter)
rel
end
def _band_type(rel, filter)
case filter[KEY_BAND_TYPE]
when GenrePlayer::VIRTUAL_BAND: rel.where(band_type: GenrePlayer::VIRTUAL_BAND)
when GenrePlayer::TRADITIONAL_BAND: rel.where(band_type: GenrePlayer::TRADITIONAL_BAND)
default: rel
end
end
def _play_commit(rel, filter)
rel
end
def _tour_option(rel, filter)
case filter[KEY_TOUR_OPTION]
when 'yes': rel.where(touring_option: true)
when 'no': rel.where(touring_option: false)
default: rel
end
end
def _perform_samples(rel, filter)
rel
end
def _max_cost(rel, filter)
rel
end
def _free_gigs(rel, filter)
case filter[KEY_FREE_GIGS]
when 'yes': rel.where(free_gigs: true)
when 'no': rel.where(free_gigs: false)
default: rel
end
end
def _skill_level(rel, filter)
rel
end
def do_search(filter)
rel = Band.unscoped
filter.keys.each do |fkey|
mname = "_#{fkey}"
if self.responds_to?(mname)
rel = self.send(mname.to_sym, rel, filter)
end
end
rel
end