use-instance-methods-not-class-methods

By designing our service objects to use instance methods, it means the users of our service will depend on objects, not global symbols. Although we have to type four additional characters—.new—our code using our service can more easily adapt to change, since we can modify the class of the object we're using without changing the code that uses it. (#)

And here is a counter-example:

The formatter classes don't have any instance variables. To put it another way, they contain only pure functions and no state. All instances of the same class will be identical, so we only ever need to have one. This is why they don't need to be classes. In this situation, I prefer to use singleton modules: (#)

Referring Pages

blog-post-anatomy-of-a-service-object-in-rails