class NameTranslationParameters
This class encapsulates parameters that are needed for name-translation in Analytics API.
Attributes
Name’s entity type (PERSON, LOCATION, ORGANIZATION) (optional)
genre to categorize the input data
Maximum number of results to return (optional)
Name to translate
API options (optional, should be a hash)
ISO 693-3 code of the name’s native language the name originates in (optional)
ISO 693-3 code of the name’s language of use (optional)
ISO 15924 code of the name’s script (optional)
ISO 639-3 code of the translation language
Transliteration scheme for the translation (optional)
ISO 15924 code of name’s script (optional)
Public Instance Methods
Source
# File name_translation_parameters.rb, line 73 def load_params validate_params to_hash .select { |_key, value| value } .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_translation_parameters.rb, line 83 def to_hash { entity_type: @entity_type, name: @name, options: @rosette_options, source_language_of_origin: @source_language_of_origin, source_language_of_use: @source_language_of_use, source_script: @source_script, target_language: @target_language, target_scheme: @target_scheme, target_script: @target_script, maximum_results: @maximum_results } end
Converts this class to Hash.
Returns the new Hash.
Source
# File name_translation_parameters.rb, line 59 def validate_params msg = 'rosette_options can only be an instance of a Hash' raise BadRequestError.new(msg) if @rosette_options && !(@rosette_options.is_a? Hash) max_msg = 'maximum_results can only be an instance of an Integer' raise BadRequestError.new(max_msg) if @maximum_results && !(@maximum_results.is_a? Integer) max_range_msg = 'maximum_results must be greater than or equal to 0' raise BadRequestError.new(max_range_msg) if @maximum_results&.negative? end
Validates the parameters by checking if rosette_options is an instance of a Hash.
Protected Instance Methods
Source
# File name_translation_parameters.rb, line 32 def initialize(name, target_language, options = {}) # :notnew: options = { entity_type: nil, genre: nil, maximum_results: nil, rosette_options: nil, source_language_of_origin: nil, source_language_of_use: nil, source_script: nil, target_scheme: nil, target_script: nil }.update options @name = name @entity_type = options[:entity_type] @genre = options[:genre] @maximum_results = options[:maximum_results] @rosette_options = options[:rosette_options] @source_language_of_origin = options[:source_language_of_origin] @source_language_of_use = options[:source_language_of_use] @source_script = options[:source_script] @target_language = target_language @target_scheme = options[:target_scheme] @target_script = options[:target_script] end