I need to create a class “Getter” that exposes a method “retrieve”
implemented differently depending on what backend is chosen.
The public API could be something like:
getter = Getter.new(:backend => “DB”)
getter.retrieve (where retrieve is implemented in a separate module or
class called DB)
What’s the best way to design such a class/module structure?