Class: RequestHandler::MultipartsParser

Inherits:
BaseParser
  • Object
show all
Defined in:
lib/request_handler/multipart_parser.rb

Instance Method Summary collapse

Methods included from Concerns::ConfigHelper

#deep_to_h, #lookup, #lookup!, #symbolize_key

Constructor Details

#initialize(request:, multipart_config:) ⇒ MultipartsParser

Returns a new instance of MultipartsParser.



10
11
12
13
14
15
# File 'lib/request_handler/multipart_parser.rb', line 10

def initialize(request:, multipart_config:)
  @request = request
  @params = request.params
  @multipart_config = multipart_config
  raise MissingArgumentError, [{ multipart_config: 'is missing' }] if multipart_config.nil?
end

Instance Method Details

#runObject



17
18
19
20
21
22
23
# File 'lib/request_handler/multipart_parser.rb', line 17

def run
  deep_to_h(multipart_config).each_with_object({}) do |(name, config), indexed_parts|
    validate_presence!(name) if config[:required]
    next if params[name.to_s].nil?
    indexed_parts[name] = parse_part(name.to_s)
  end
end