I am implementing strategy pattern in Rails where I have Models like
Item, Category and need to recommend items for the users depending on
various algorithms (strategies) that user selects in view.
I am having a Recommend class which has an interface of
strategy) and returns array of item_id. The strategy in recommend will
decided at runtime depending on the option user selects in the view. I
placed the recommend interface in /lib directory and the strategies in
/lib/strategy directory. The strategies or algorithms right now will do
queries to give recommendations which is naive.
I want to make sure if I placed the files in proper directories or
need place the recommend class and all the strategies in models or
app/services or any other?. I am really confused.