Module: LightRulesEngine::Operators

Defined in:
lib/light_rules_engine/operators.rb,
lib/light_rules_engine/operators/eq.rb,
lib/light_rules_engine/operators/gt.rb,
lib/light_rules_engine/operators/lt.rb,
lib/light_rules_engine/operators/all.rb,
lib/light_rules_engine/operators/any.rb,
lib/light_rules_engine/operators/range.rb

Defined Under Namespace

Classes: All, Any, Eq, Gt, Lt, Range

Class Method Summary collapse

Class Method Details

.classify_string(string) ⇒ Object



15
16
17
18
19
# File 'lib/light_rules_engine/operators.rb', line 15

def self.classify_string(string)
  string = string.sub(/^[a-z\d]*/) { $&.capitalize }
  string.gsub(/(?:_|(\/))([a-z\d]*)/) { "#{$1}#{$2.capitalize}" }.gsub('/', '::')
  string.sub(/.*\./, '')
end

.find(name) ⇒ Object



10
11
12
13
# File 'lib/light_rules_engine/operators.rb', line 10

def self.find(name)
  class_name = classify_string(name.to_s)
  self.const_get(class_name)
end