Skip to content

Instantly share code, notes, and snippets.

@mkaschenko
Created February 28, 2014 06:16
Show Gist options
  • Select an option

  • Save mkaschenko/ea880a63bfc28f7584d2 to your computer and use it in GitHub Desktop.

Select an option

Save mkaschenko/ea880a63bfc28f7584d2 to your computer and use it in GitHub Desktop.
class Export::SecureName
attr_accessor :name, :extension
def initialize(name, extension = nil)
self.name = name
self.extension = extension
end
def get
sanitize(sliced_name)
end
private
def sanitize(name)
CarrierWave::SanitizedFile.new(name).filename
end
def sliced_name
if extension
sliced_basename + extension
else
name.slice(255)
end
end
def sliced_basename
File.basename(name, extension).slice(255 - extension.length)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment