define similar client methods with Ruby metaprogramming. Extract getting params from options functionality to separate method