Method: Engine2::DownloadFileStoreAction#invoke

Defined in:
lib/engine2/action/infra.rb

#invoke(handler) ⇒ Object



94
95
96
97
98
99
100
101
102
# File 'lib/engine2/action/infra.rb', line 94

def invoke handler
    handler.permit id = handler.params[:id]
    entry = E2Files.db[:files].select(:name, :mime)[id: id]
    handler.permit entry
    handler.attachment entry[:name]
    handler.content_type (entry[:mime].to_s.empty? ? "application/octet-stream" : entry[:mime])
    info = node.parent.*.model.type_info[node.parent.*.field]
    open("#{info[:store][:files]}/#{entry[:name]}_#{id}", 'rb'){|f|f.read}
end