23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/paperclip_lambda/attachment.rb', line 23
def process_update_in_lambda(options = {})
lambda_definitions = instance.class.paperclip_definitions[name][:lambda]
attributes_hash = { }
lambda_definitions[:attributes].each do |attribute|
attributes_hash[attribute] = instance.send(attribute)
end
payload = {
path: path,
old_path: options[:old_path],
bucket: instance.send(name).options[:bucket],
attributes: attributes_hash
}
PaperclipLambda::Client.new(lambda_definitions[:function_name], payload)
if instance.respond_to?(:"#{name}_processing?")
instance.send("#{name}_processing=", false)
instance.class.where(instance.class.primary_key => instance.id).update_all({ "#{name}_processing" => false })
end
end
|