Sha256: edaa862b540e93ea88e1603724ef6f207e2ed56842b8b567a9f689eec931e817
Contents?: true
Size: 1.1 KB
Versions: 1
Compression:
Stored size: 1.1 KB
Contents
require "SimpleCSVUploder/version" module SimpleCSVUploder attr_accessor :file def initialize(params = {}) @file = params.delete(:file) super if @file self.filename = sanitize_filename(@file.original_filename) self.content_type = @file.content_type self.file_contents = @file.read end end def upload_local path = "#{Rails.root}/public/uploads/csv" FileUtils.mkdir_p(path) unless File.exists?(path) FileUtils.copy(@file.tempfile, path) end private def sanitize_filename(filename) return File.basename(filename) end def check_duplication_filename if Simpledocupload::Document.where(filename: self.filename).present? errors.add(:file, 'File already exists.') end end def csv_file_format if self.content_type != "text/csv" errors.add(:file, 'File format should be only CSV.') end end NUM_BYTES_IN_MEGABYTE = 1048576 def file_size_under_one_mb if !@file.nil? if (@file.size.to_f / NUM_BYTES_IN_MEGABYTE) > 1 errors.add(:file, 'File size cannot be over one megabyte.') end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
SimpleCSVUploder-0.1.4 | lib/SimpleCSVUploder.rb |