class FisherClassifier::Config

Public Class Methods

new(block) click to toggle source
# File lib/fisher_classifier/config.rb, line 4
def initialize(block)
  @config = {
    fisher_threshold: 0,
    weight: 1.0,
    assumed_prob: 0.5
  }
  @methods = {}
  instance_eval &block
end

Public Instance Methods

call(name, *args) click to toggle source
# File lib/fisher_classifier/config.rb, line 20
def call(name, *args)
  raise "'#{name}' mehtod does not defined in config" unless @methods.has_key? name

  @methods[name].call *args
end
get(key) click to toggle source
# File lib/fisher_classifier/config.rb, line 14
def get(key)
  raise "'#{key}' value does not defined in config" unless @config.has_key? key

  @config[key]
end
method_missing(key, value = nil, &block) click to toggle source
# File lib/fisher_classifier/config.rb, line 26
def method_missing(key, value = nil, &block)
  if block_given?
    @methods[key] = block
  else
    @config[key] = value
  end
end
respond_to_missing?(method_name, include_private = false) click to toggle source
# File lib/fisher_classifier/config.rb, line 34
def respond_to_missing?(method_name, include_private = false)
  @methods.has_key? method_name
end