Module: MathEngine::Evaluators

Defined in:
lib/evaluators/finders.rb,
lib/evaluators/calculate.rb

Defined Under Namespace

Classes: Calculate

Class Method Summary collapse

Class Method Details

.find_by_name(name) ⇒ Object



3
4
5
6
7
# File 'lib/evaluators/finders.rb', line 3

def self.find_by_name(name)
  class_name = name.to_s.sub(%r{^[a-z\d]}) { $&.upcase }
  class_name.gsub!(%r{(?:_|(\/))([a-z\d]*)}) { "#{$1}#{$2.capitalize}" }
  MathEngine::Evaluators.const_get(class_name) rescue raise MathEngine::UnknownEvaluatorError.new(name, "MathEngine::Evaluators::#{class_name}")
end