class Gapic::Schema::ParameterSchema
Contains information about known parameter names and the types expected to be parsed from the request options string
Attributes
Public Class Methods
Creates a schema from given parameter lists @param bool_params_list [Array<String>] @param string_params_list [Array<String>] @param array_params_list [Array<String>] @param map_params_list [Array<String>] @return Gapic::Schema::ParameterSchema
# File lib/gapic/schema/parameter_schema.rb, line 45 def self.create bool_params_list: [], string_params_list: [], array_params_list: [], map_params_list: [] bool_params = bool_params_list.map { |val| [val, val] }.to_h string_params = string_params_list.map { |val| [val, val] }.to_h array_params = array_params_list.map { |val| [val, val] }.to_h map_params = map_params_list.map { |val| [val, val] }.to_h ParameterSchema.new bool_params, string_params, array_params, map_params end
Creates a schema with given alias-parameter maps @param bool_params
[Hash{String => String}] @param string_params
[Hash{String => String}] @param array_params
[Hash{String => String}] @param map_params
[Hash{String => String}]
# File lib/gapic/schema/parameter_schema.rb, line 32 def initialize bool_params = {}, string_params = {}, array_params = {}, map_params = {} @bool_params = bool_params @string_params = string_params @array_params = array_params @map_params = map_params end
Public Instance Methods
Creates a new schema from this by adding aliases to existing parameters @param bool_aliases [Hash{String => String}] @param string_aliases [Hash{String => String}] @param array_aliases [Hash{String => String}] @param map_aliases [Hash{String => String}] @return Gapic::Schema::ParameterSchema
# File lib/gapic/schema/parameter_schema.rb, line 60 def extend_with_aliases bool_aliases: {}, string_aliases: {}, array_aliases: {}, map_aliases: {} bool_params = @bool_params bool_aliases.each { |param_alias, param| bool_params[param_alias] = param if bool_params.key? param } string_params = @string_params string_aliases.each { |param_alias, param| string_params[param_alias] = param if string_params.key? param } array_params = @array_params array_aliases.each { |param_alias, param| array_params[param_alias] = param if array_params.key? param } map_params = @map_params map_aliases.each { |param_alias, param| map_params[param_alias] = param if map_params.key? param } ParameterSchema.new bool_params, string_params, array_params, map_params end
Looks up a parameter by name (including aliases) and return a type label (or :unknown) and a configuration name @param param_name [String] Input parameter name @return [Array<Symbol, String>] An array of [:detected_type, config_parameter_name]
# File lib/gapic/schema/parameter_schema.rb, line 80 def schema_name_type_for param_name if @bool_params.key? param_name [:bool, @bool_params[param_name]] elsif @string_params.key? param_name [:string, @string_params[param_name]] elsif @array_params.key? param_name [:array, @array_params[param_name]] elsif @map_params.key? param_name [:map, @map_params[param_name]] else [:unknown, param_name] end end