Class: CarrierWave::Storage::SCP::File
- Inherits:
-
Object
- Object
- CarrierWave::Storage::SCP::File
- Defined in:
- lib/carrierwave/storage/scp.rb
Instance Attribute Summary collapse
-
#path ⇒ Object
readonly
Returns the value of attribute path.
Instance Method Summary collapse
- #extension ⇒ Object
-
#initialize(uploader, base, path) ⇒ File
constructor
A new instance of File.
- #read ⇒ Object
- #size ⇒ Object
- #store(new_file) ⇒ Object
Constructor Details
#initialize(uploader, base, path) ⇒ File
Returns a new instance of File.
22 23 24 |
# File 'lib/carrierwave/storage/scp.rb', line 22 def initialize(uploader, base, path) @uploader, @base, @path = uploader, base, path end |
Instance Attribute Details
#path ⇒ Object (readonly)
Returns the value of attribute path.
16 17 18 |
# File 'lib/carrierwave/storage/scp.rb', line 16 def path @path end |
Instance Method Details
#extension ⇒ Object
18 19 20 |
# File 'lib/carrierwave/storage/scp.rb', line 18 def extension path.split('.').last end |
#read ⇒ Object
26 27 28 |
# File 'lib/carrierwave/storage/scp.rb', line 26 def read file end |
#size ⇒ Object
30 31 32 |
# File 'lib/carrierwave/storage/scp.rb', line 30 def size file.length end |
#store(new_file) ⇒ Object
34 35 36 37 38 39 40 41 42 |
# File 'lib/carrierwave/storage/scp.rb', line 34 def store(new_file) Net::SSH.start(@uploader.scp_host, @uploader.scp_user, @uploader.) do |session| new_dir = path.split('/') new_dir.delete(new_dir[-1]) new_dir = new_dir.join('/') session.exec! "mkdir #{@uploader.scp_folder}/#{new_dir}" session.scp.upload! new_file.path, "#{@uploader.scp_folder}/#{path}", :recursive => true end end |