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