class Thumbtack::Specification
Validates and translates user-provided parameters to their Pinboard supported equivalents
@api private
Public Class Methods
new(type_handlers)
click to toggle source
Initialize a Specification
@param [Hash{Symbol => Type}] type_handlers
a map of parameter names to their type handlers
# File lib/thumbtack/specification.rb, line 13 def initialize(type_handlers) @type_handlers = type_handlers end
Public Instance Methods
parameters(arguments)
click to toggle source
Validate and translate client parameters to their Pinboard values
@param [Hash{Symbol => Object}] arguments
parameter names associated with their values
@return [Hash{Symbol => Object}]
parameter names associated with translations to their Pinboard values
# File lib/thumbtack/specification.rb, line 24 def parameters(arguments) Hash[ arguments.map do |name, value| type_handler = @type_handlers.fetch(name) type_handler.validate(value) [name, type_handler.serialize(value)] end ] end