I am trying to add the following method to the Math class in Ruby on Rails:
class Math
def self.round_with_precision(number, precision)
scalar = 10.0 ** precision
number = number * scalar
number = number.round
number = number / scalar
return number;
end
end
I then added the following to my environment.rb:
require 'lib/math'
When I open up the Rails console I get the following error: './lib/math.rb:2:TypeError Math is not a class'
It seems like I'm overlooking something very simple.
Any thoughts?
Thanks in advance for your help.
From stackoverflow
-
Math is a module, just rename class to module.
JP : Thanks, that did the trick! -
You can place the file containing this code in config/initializers and it will automatically be included. ~ Just a FYI.
JP : I didn't know that, thanks for the tip!Matt Darby : You're welcome ;) -
If you use
instance_eval
, you don't have to worry about whether to useclass
ormodule
:Math.instance_eval do def round_with_precision(number, precision) scalar = 10.0 ** precision (number * scalar).round / scalar end end
0 comments:
Post a Comment