db hook to manage files

This commit is contained in:
2016-10-06 20:10:36 -05:00
parent c5e79fc427
commit 697c896277
10 changed files with 29 additions and 7 deletions
+1
View File
@@ -62,3 +62,4 @@ application.yml
# Ignore application configuration
/config/application.yml
.container-setup
_vsftpd
+4
View File
@@ -12,6 +12,10 @@ Style/ClassAndModuleChildren:
Exclude:
- test/test_helper.rb
Style/ClassVars:
Exclude:
- test/test_helper.rb
Style/Documentation:
Enabled: false
+2
View File
@@ -1 +1,3 @@
A simple FTP Virtual User manager
* be sure to set up config/application.yml[.sample]
-3
View File
@@ -1,3 +0,0 @@
client-two:$1$Uoqdsd1f$A39luV6N91OtA/VvcdBfC0
client-one:$1$cVA6ZMIU$K/ITsDMZWeEDFEvoWk0op.
client-three:$1$pGYnsuhu$3MPEsgikbEhX1mZQE/qDc/
-1
View File
@@ -1 +0,0 @@
local_root=_vsftpd/root/client_one
-1
View File
@@ -1 +0,0 @@
local_root=_vsftpd/root/client_three
-1
View File
@@ -1 +0,0 @@
local_root=_vsftpd/root/client_two
+8
View File
@@ -6,4 +6,12 @@ class Account < ApplicationRecord
validates :password, presence: true
validates :home_folder, presence: true
validates :contact_email, presence: true, email_format: true
after_commit :update_vsftpd_files
def update_vsftpd_files
vsftp = FtpConfig.new
vsftp.build_password_list Account.all
vsftp.build_user_configs self
end
end
+1 -1
View File
@@ -8,7 +8,7 @@ account1:
account2:
username: client-two
password: <%= CryptSerializer.dump('azsxdcfvgbhnjmk,l.;/') %>
password: <%= CryptSerializer.dump('azsxdcfvgbhnjmk,l') %>
home_folder: client_two
contact_email: ftp-user@mailinator.com
+13
View File
@@ -24,4 +24,17 @@ class ActiveSupport::TestCase
# Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
fixtures :all
@@files_checked = false
def verify_test_files
return if @@files_checked
FileUtils.mkdir_p AppConfig.ftpusers
FileUtils.touch AppConfig.htpasswd
@@files_checked = true
end
def setup
verify_test_files
end
end