Module: Tzispa::Helpers::Request
- Defined in:
- lib/tzispa/helpers/request.rb
Instance Method Summary collapse
- #request_data(fields) ⇒ Object
- #request_data_object(data_object:, fields:) ⇒ Object
- #request_file_upload(request_file:, destination_path:, save_as: nil, keep_ext: true) ⇒ Object
Instance Method Details
#request_data(fields) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/tzispa/helpers/request.rb', line 7 def request_data(fields) Hash.new.tap { |data| fields.each { |name| macro_field = name.split('@:') macro = macro_field.first.to_sym if macro_field.length == 2 field = macro_field.length == 2 ? macro_field.last : macro_field.first field.split(':').tap { |fld| src = fld.first dest = fld.last data[dest.to_sym] = macro ? send(macro, context.request[src]) : context.request[src] } } } end |
#request_data_object(data_object:, fields:) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/tzispa/helpers/request.rb', line 22 def request_data_object(data_object:, fields:) data_object.tap { |data| fields.each { |name| macro_field = name.split('@:') macro = macro_field.first.to_sym if macro_field.length == 2 field = macro_field.length == 2 ? macro_field.last : macro_field.first field.split(':').tap { |fld| src = fld.first dest = fld.last data.send "#{dest}=".to_sym, macro ? send(macro, context.request[src]) : context.request[src] } } } end |
#request_file_upload(request_file:, destination_path:, save_as: nil, keep_ext: true) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/tzispa/helpers/request.rb', line 37 def request_file_upload(request_file:, destination_path:, save_as: nil, keep_ext: true) if request_file fileext = File.extname(request_file[:filename]).downcase filetype = request_file[:type] save_ext = fileext if keep_ext filename = (save_as ? "#{save_as}#{save_ext}" : request_file[:filename]) tempfile = request_file[:tempfile] begin dest_file = "#{destination_path}/#{filename}" FileUtils.cp tempfile.path, dest_file result = { name: filename, ext: fileext, path: dest_file, size: ::File.size(dest_file), type: filetype } rescue => err context.logger.fatal(err) if context result = nil ensure tempfile.close tempfile.unlink end else result = nil end result end |