module Textoken::OptionFactory
This factory created option objects throug user input option User input option like 'more_than: 3' (more_than) gets camelized and objects get initialized with error handling
Public Class Methods
build(key, value)
click to toggle source
# File lib/textoken/factories/option_factory.rb, line 6 def self.build(key, value) option_klass(key).new(value) end
Private Class Methods
camelize(key)
click to toggle source
# File lib/textoken/factories/option_factory.rb, line 12 def self.camelize(key) key.to_s.split('_').map(&:capitalize).join end
option_klass(key)
click to toggle source
# File lib/textoken/factories/option_factory.rb, line 16 def self.option_klass(key) # add a module to make other classes unaccessible Textoken.const_get(camelize(key).to_sym) rescue NameError Textoken.expression_err("#{key}: is not a valid option.") end