Objective:
Make data provided in data.json searchable
Requirements:
• search logic should be implemented in pure ruby (without frameworks)
• search match precision (full words matching)
• search for Lisp Common should match a programming language named "Common Lisp"
• support for exact matches, eg. Interpreted "Thomas Eugene", which should match "BASIC", but not "Haskell"
• match in different fields, eg. Scripting Microsoft should return all scripting languages designed by "Microsoft"
• solution elegance
• writing code with reusability and extendability/extensibility in mind.
Usage:
ruby main.rb Lisp Common
ruby main.rb Interpreted "Thomas Eugene"
ruby main.rb Interpreted "Eugene Thomas"
ruby main.rb Scripting Microsoft
ruby main.rb Microsoft Scripting