I don't know if this helps, but perhaps the initializer for the class should be defined as ...

```
def initialize(params = {})
  params = params.inject({}) { |result, (key, value)| result[key.to_sym] = value; result }
  @something = params[:something]
  ...
end
```

And then you can pass in initializers such as your doubles without "peeking" in to the implementation of the class.