class NameSimilarityParameters
This class encapsulates parameters that are needed for name-similarity in Analytics API.
Attributes
genre to categorize the input data
Name to be compared to name2
Name to be compared to name1
Parameters map sent to the API (optional, should be a hash)
Deprecated: Retained for backward compatibility. Use โparametersโ instead. Rosette API options (optional, should be a hash)
Public Instance Methods
Source
# File name_similarity_parameters.rb, line 50 def load_params validate_params to_hash .compact .transform_keys { |key| key.to_s.split('_').map(&:capitalize).join.sub!(/\D/, &:downcase) } end
Converts this class to Hash with its keys in lower CamelCase.
Returns the new Hash.
Source
# File name_similarity_parameters.rb, line 60 def to_hash if @parameters { name1: @name1.is_a?(NameParameter) ? @name1.load_param : @name1, name2: @name2.is_a?(NameParameter) ? @name2.load_param : @name2, parameters: @parameters } else { genre: @genre, name1: @name1.is_a?(NameParameter) ? @name1.load_param : @name1, name2: @name2.is_a?(NameParameter) ? @name2.load_param : @name2, options: @rosette_options } end end
Converts this class to Hash.
Returns the new Hash.
Source
# File name_similarity_parameters.rb, line 33 def validate_params n1_msg = 'name1 option can only be an instance of a String or NameParameter' raise BadRequestError.new(n1_msg) if [String, NameParameter].none? { |clazz| @name1.is_a? clazz } n2_msg = 'name2 option can only be an instance of a String or NameParameter' raise BadRequestError.new(n2_msg) if [String, NameParameter].none? { |clazz| @name2.is_a? clazz } opt_msg = 'parameters can only be an instance of a Hash' raise BadRequestError.new(opt_msg) if @parameters && !(@parameters.is_a? Hash) rosette_opt_msg = 'rosette_options can only be an instance of a Hash' raise BadRequestError.new(rosette_opt_msg) if @rosette_options && !(@rosette_options.is_a? Hash) end
Validates the parameters by checking if name1 and name2 are instances of a String or NameParameter.
Protected Instance Methods
Source
# File name_similarity_parameters.rb, line 21 def initialize(name1, name2, match_parameters = nil) # :notnew: @name1 = name1 @name2 = name2 @genre = nil @parameters = nil @rosette_options = nil handle_match_parameters(match_parameters) if match_parameters end