R
Ruby Geo
I have created this method but I want to improve to be ale to search
based on the keywords partially.
def self.search_by_keyword(businesses, searched_keyword)
businesses.select do |b|
b.my_keywords.include?(searched_keyword)
end
end
-----------------------------------------------------------------------------
This are the objects
-----------------------------------------------------------------------------
bsn0 = Business.new("Romain", "02089293323", "22 lilly Road ")
bsn0.add_keyword(KEYWORDS[0])
bsn0.add_keyword(KEYWORDS[1])
bsn0.add_keyword(KEYWORDS[2])
bsn1 = Business.new("Steve", "02089293323", "22 lilly Road ")
bsn1.add_keyword(KEYWORDS[0])
bsn1.add_keyword(KEYWORDS[2])
bsn2 = Business.new("Al ", "02085431234", "25 Riverside Road ")
bsn2.add_keyword(KEYWORDS[1])
--------------------------------------------------------------------------
How can I change the methpd in orrder to be able to perform the folowing
task ?
--------------------------------------------------------------------------
Business.search_by_keyword([bsn0, bsn1, bsn2], KEYWORDS[3],true) # true
here mean 'exact match'
# will return nil
Business.search_by_keyword([bsn0, bsn1, bsn2], KEYWORDS[1],true) # true
here mean 'exact match'
# will return bsn2
Business.search_by_keyword([bsn0, bsn1, bsn2], KEYWORDS[1],false) #
true here mean 'partial match'
# will return bsn0 AND bsn2
Business.search_by_keyword([bsn0, bsn1, bsn2], [KEYWORDS[0],KEYWORDS[1]
],true) # true here mean 'exact match'
# will return nil
Business.search_by_keyword([bsn0, bsn1, bsn2], [KEYWORDS[0],KEYWORDS[2]
],true) # true here mean 'exact match'
# will return bsn1
Business.search_by_keyword([bsn0, bsn1, bsn2], [KEYWORDS[0],KEYWORDS[2]
],false) # true here mean 'partial match'
# will return bsn0 AND bsn1
based on the keywords partially.
def self.search_by_keyword(businesses, searched_keyword)
businesses.select do |b|
b.my_keywords.include?(searched_keyword)
end
end
-----------------------------------------------------------------------------
This are the objects
-----------------------------------------------------------------------------
bsn0 = Business.new("Romain", "02089293323", "22 lilly Road ")
bsn0.add_keyword(KEYWORDS[0])
bsn0.add_keyword(KEYWORDS[1])
bsn0.add_keyword(KEYWORDS[2])
bsn1 = Business.new("Steve", "02089293323", "22 lilly Road ")
bsn1.add_keyword(KEYWORDS[0])
bsn1.add_keyword(KEYWORDS[2])
bsn2 = Business.new("Al ", "02085431234", "25 Riverside Road ")
bsn2.add_keyword(KEYWORDS[1])
--------------------------------------------------------------------------
How can I change the methpd in orrder to be able to perform the folowing
task ?
--------------------------------------------------------------------------
Business.search_by_keyword([bsn0, bsn1, bsn2], KEYWORDS[3],true) # true
here mean 'exact match'
# will return nil
Business.search_by_keyword([bsn0, bsn1, bsn2], KEYWORDS[1],true) # true
here mean 'exact match'
# will return bsn2
Business.search_by_keyword([bsn0, bsn1, bsn2], KEYWORDS[1],false) #
true here mean 'partial match'
# will return bsn0 AND bsn2
Business.search_by_keyword([bsn0, bsn1, bsn2], [KEYWORDS[0],KEYWORDS[1]
],true) # true here mean 'exact match'
# will return nil
Business.search_by_keyword([bsn0, bsn1, bsn2], [KEYWORDS[0],KEYWORDS[2]
],true) # true here mean 'exact match'
# will return bsn1
Business.search_by_keyword([bsn0, bsn1, bsn2], [KEYWORDS[0],KEYWORDS[2]
],false) # true here mean 'partial match'
# will return bsn0 AND bsn1