Module: Ai4r::Data::Parameterizable

Overview

Mix-in to declare configurable parameters for algorithms.

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object

Parameters:

  • base (Object)

Returns:

  • (Object)


65
66
67
# File 'lib/ai4r/data/parameterizable.rb', line 65

def self.included(base)
  base.extend(ClassMethods)
end

Instance Method Details

#get_parametersObject

Get parameter values on this algorithm instance. Returns a hash with the following format: { :param_name => parameter_value }

Returns:

  • (Object)


55
56
57
58
59
60
61
# File 'lib/ai4r/data/parameterizable.rb', line 55

def get_parameters
  params = {}
  self.class.get_parameters_info.each_key do |key|
    params[key] = send(key) if respond_to?(key)
  end
  params
end

#set_parameters(params) ⇒ Object

Set parameter values on this algorithm instance. You must provide a hash with the following format: { :param_name => parameter_value }

Parameters:

  • params (Object)

Returns:

  • (Object)


44
45
46
47
48
49
# File 'lib/ai4r/data/parameterizable.rb', line 44

def set_parameters(params)
  params.each do |key, val|
    public_send("#{key}=", val) if respond_to?("#{key}=")
  end
  self
end