/paperclip-sftp

Paperclip SFTP is Secure File Transfer Protocol storage for Paperclip

Primary LanguageRubyMIT LicenseMIT

Gem Version Dependency Status Code Climate

Paperclip SFTP

Paperclip SFTP is Secure File Transfer Protocol storage for Paperclip

Installation

gem 'paperclip-sftp', '~> 1.0.0'

Usage

class User < ActiveRecord::Base
  has_attached_file :avatar,
    storage: :sftp,
    sftp_options: {
      host: "sftp.example.com",
      user: "user",
      password: "password",
      port: 22
    }
end

You can define these options globally, enable this storage for specific environments, etc. Please see Paperclip github page for more details.

It is also possible to specify private SSH key for passwordless connection.

class User < ActiveRecord::Base
  has_attached_file :avatar,
    storage: :sftp,
    sftp_options: {
      host: "sftp.example.com",
      user: "user",
      port: 22,
      keys: "/path/to/id_rsa"
    }
end

Running tests

All tests are live so in order to run them you need to setup local SFTP server. That will take at most 5 minutes on either MacOS or Linux. Connection is defined in test/test_helper.rb if you need to change it.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request