6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/aserto/resource_mapper.rb', line 6
def execute(request)
if defined? ::Rails
params = request.params
return {} unless params.is_a?(Hash) && !params.empty?
require_relative "rails/utils"
route = Aserto::Rails::Utils.route(request)
path = route[:path] if route
return {} unless path
fields = path.split("/")
.select { |part| part.starts_with?(":") }
.map { |field| field.sub(":", "") }
return {} if fields.empty?
require "google/protobuf/well_known_types"
return Google::Protobuf::Struct.from_hash(fields.to_h { |field| [field, params[field]] })
end
{}
end
|