Chatwoot/lib/local_resource.rb
Akshay Birajdar a1452d7d89 Sprinkle frozen string literal & Indentation Fix (#150)
* Avoid extra string alocation as join will always return string

* Fix indentation

* Sprinkle frozen string literal true
2019-10-16 12:22:30 +05:30

38 lines
568 B
Ruby

class LocalResource
attr_reader :uri
def initialize(uri)
@uri = uri
end
def file
@file ||= Tempfile.new(tmp_filename, tmp_folder, encoding: encoding).tap do |f|
io.rewind
f.write(io.read)
f.close
end
end
def io
@io ||= uri.open
end
def encoding
io.rewind
io.read.encoding
end
def tmp_filename
[
Time.now.to_i.to_s,
Pathname.new(uri.path).extname
]
end
def tmp_folder
# If we're using Rails:
Rails.root.join('tmp')
# Otherwise:
# '/wherever/you/want'
end
end