I am using Spree, and Spree has a class called Order that looks like:
module Spree
  class Order
    # class definition.
  end
end
In my own app, I have been customising Order like so:
Spree::Order.class_eval do
  # customisations
end
My question is, can I simply just do this:
module Spree
  class Order
    # My own customisations.
  end
end
Any downsides to this? Essentially, I want to avoid using class_eval.
Benjamin, reopen class will not inform you (but class_eval will raise error) if the existing class does not exist or not loaded.
But if you have test coverage, reopen class should be safe I guess?
See https://stackoverflow.com/a/900508/474597 for more detailed explanation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With