ftpmvc 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ftpmvc.gemspec +1 -1
- data/lib/ftpmvc/format/csv.rb +6 -7
- data/lib/ftpmvc/ftpd/file_system.rb +11 -0
- data/lib/ftpmvc/logger.rb +35 -0
- data/lib/ftpmvc/server.rb +5 -4
- data/lib/ftpmvc/test_helpers.rb +3 -3
- data/lib/ftpmvc/version.rb +1 -1
- data/lib/ftpmvc.rb +1 -0
- data/spec/lib/ftpmvc/format/csv_spec.rb +3 -3
- metadata +23 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2434536570e3300d6e307c591e223b856a958055
|
4
|
+
data.tar.gz: c4276813096a5a84479fcd73f0999d41bea5b670
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb33c101552cb588f2737aa0bff98bbba406fdf535b57bfb5045ac066ead934c3e057c2a5ba81c1b5479217c8286013559b1a1b16b36bfb76462f86a5961483b
|
7
|
+
data.tar.gz: 3f728d964017765a085df53446276db3bb4becf9d48044c6de31cbeb83f33dd40a5cc4953358515f33045e54b6bf9e4a9fff0863254d953be17644e87e085338
|
data/ftpmvc.gemspec
CHANGED
@@ -23,6 +23,6 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_development_dependency "guard-rspec"
|
24
24
|
spec.add_development_dependency "terminal-notifier-guard"
|
25
25
|
spec.add_development_dependency "codeclimate-test-reporter"
|
26
|
-
spec.add_dependency "ftpd"
|
26
|
+
spec.add_dependency "investtools-ftpd"
|
27
27
|
spec.add_dependency "activesupport"
|
28
28
|
end
|
data/lib/ftpmvc/format/csv.rb
CHANGED
@@ -2,16 +2,12 @@ require 'active_support/concern'
|
|
2
2
|
require 'csv'
|
3
3
|
|
4
4
|
module FTPMVC
|
5
|
-
module
|
5
|
+
module Format
|
6
6
|
module CSV
|
7
7
|
extend ActiveSupport::Concern
|
8
|
-
@@date_format = nil
|
9
8
|
|
10
|
-
def
|
11
|
-
|
12
|
-
|
13
|
-
def name
|
14
|
-
"#{super}.csv"
|
9
|
+
def initialize(filename)
|
10
|
+
super "#{filename}.csv"
|
15
11
|
end
|
16
12
|
|
17
13
|
def data
|
@@ -20,6 +16,9 @@ module FTPMVC
|
|
20
16
|
|
21
17
|
protected
|
22
18
|
|
19
|
+
def header
|
20
|
+
end
|
21
|
+
|
23
22
|
def csv
|
24
23
|
::CSV.generate do |csv|
|
25
24
|
csv << header if header.present?
|
@@ -1,31 +1,42 @@
|
|
1
|
+
require 'ftpmvc/logger'
|
2
|
+
|
1
3
|
module FTPMVC
|
2
4
|
module Ftpd
|
3
5
|
class FileSystem
|
6
|
+
|
7
|
+
include Logger
|
8
|
+
|
4
9
|
def initialize(application)
|
5
10
|
@application = application
|
6
11
|
end
|
7
12
|
|
8
13
|
def dir(path)
|
14
|
+
logger.debug { "FTPMVC::Ftpd::FileSystem#dir(#{path})" }
|
9
15
|
@application.index(path.gsub('/*', '')).map { |node| ::File.join(path, node.name) }
|
10
16
|
end
|
11
17
|
|
12
18
|
def directory?(path)
|
19
|
+
logger.debug { "FTPMVC::Ftpd::FileSystem#directory?(#{path})" }
|
13
20
|
@application.directory?(path.gsub('/*', ''))
|
14
21
|
end
|
15
22
|
|
16
23
|
def read(path)
|
24
|
+
logger.debug { "FTPMVC::Ftpd::FileSystem#read(#{path})" }
|
17
25
|
yield @application.get(path)
|
18
26
|
end
|
19
27
|
|
20
28
|
def accessible?(path)
|
29
|
+
logger.debug { "FTPMVC::Ftpd::FileSystem#accessible?(#{path})" }
|
21
30
|
true
|
22
31
|
end
|
23
32
|
|
24
33
|
def exists?(path)
|
34
|
+
logger.debug { "FTPMVC::Ftpd::FileSystem#exists?(#{path})" }
|
25
35
|
@application.exists?(path)
|
26
36
|
end
|
27
37
|
|
28
38
|
def file_info(path)
|
39
|
+
logger.debug { "FTPMVC::Ftpd::FileSystem#file_info(#{path})" }
|
29
40
|
::Ftpd::FileInfo.new(
|
30
41
|
:ftype => directory?(path) ? 'directory' : 'file',
|
31
42
|
:group => 'nogroup',
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'active_support/concern'
|
2
|
+
|
3
|
+
module FTPMVC
|
4
|
+
|
5
|
+
def self.logger=(logger)
|
6
|
+
@logger = logger
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.logger
|
10
|
+
@logger ||= create_logger
|
11
|
+
end
|
12
|
+
|
13
|
+
module Logger
|
14
|
+
|
15
|
+
extend ActiveSupport::Concern
|
16
|
+
|
17
|
+
def logger
|
18
|
+
FTPMVC.logger
|
19
|
+
end
|
20
|
+
|
21
|
+
module ClassMethods
|
22
|
+
def logger
|
23
|
+
FTPMVC.logger
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
protected
|
29
|
+
|
30
|
+
def self.create_logger
|
31
|
+
::Logger.new(STDERR).tap do |logger|
|
32
|
+
logger.level = ::Logger::INFO
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/lib/ftpmvc/server.rb
CHANGED
@@ -14,6 +14,10 @@ module FTPMVC
|
|
14
14
|
driver = Ftpd::Driver.new(application)
|
15
15
|
@server = ::Ftpd::FtpServer.new(driver)
|
16
16
|
@server.interface, @server.port = @address, @port
|
17
|
+
@server.on_exception do |e|
|
18
|
+
puts e
|
19
|
+
puts e.backtrace
|
20
|
+
end
|
17
21
|
@server.start
|
18
22
|
@port = @server.bound_port
|
19
23
|
self
|
@@ -22,10 +26,7 @@ module FTPMVC
|
|
22
26
|
def start(application)
|
23
27
|
start_in_new_thread(application)
|
24
28
|
yield self if block_given?
|
25
|
-
|
26
|
-
# o uma nova versão ficar disponível.
|
27
|
-
@server.instance_variable_get(:@server_thread).join
|
28
|
-
# @server.join
|
29
|
+
@server.join
|
29
30
|
end
|
30
31
|
|
31
32
|
def stop
|
data/lib/ftpmvc/test_helpers.rb
CHANGED
@@ -18,12 +18,12 @@ module FTPMVC
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
def get(ftp, path)
|
21
|
+
def get(ftp, path, encoding=nil)
|
22
22
|
''.tap do |response|
|
23
23
|
ftp.retrbinary("RETR #{path}", 1024) do |block|
|
24
|
-
response << block
|
24
|
+
response << block
|
25
25
|
end
|
26
|
-
response
|
26
|
+
response.force_encoding(encoding) unless encoding.nil?
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
data/lib/ftpmvc/version.rb
CHANGED
data/lib/ftpmvc.rb
CHANGED
@@ -3,10 +3,10 @@ require './spec/spec_helper'
|
|
3
3
|
require 'ftpmvc/format/csv'
|
4
4
|
require 'ftpmvc/file'
|
5
5
|
|
6
|
-
describe FTPMVC::
|
6
|
+
describe FTPMVC::Format::CSV do
|
7
7
|
let(:csv_file_class) do
|
8
8
|
Class.new(FTPMVC::File) do
|
9
|
-
include FTPMVC::
|
9
|
+
include FTPMVC::Format::CSV
|
10
10
|
def rows
|
11
11
|
[['a', 'b', 'c'], ['d', 'e', 'f']]
|
12
12
|
end
|
@@ -38,7 +38,7 @@ describe FTPMVC::Formats::CSV do
|
|
38
38
|
context 'when date_format is defined' do
|
39
39
|
let(:csv_file_class) do
|
40
40
|
Class.new(FTPMVC::File) do
|
41
|
-
include FTPMVC::
|
41
|
+
include FTPMVC::Format::CSV
|
42
42
|
date_format '%m/%d/%y'
|
43
43
|
def rows
|
44
44
|
[[Date.parse('2011-01-01')]]
|
metadata
CHANGED
@@ -1,111 +1,111 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ftpmvc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- André Aizim Kelmanson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.6'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.6'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: guard-rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: terminal-notifier-guard
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: codeclimate-test-reporter
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name: ftpd
|
84
|
+
name: investtools-ftpd
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: activesupport
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
description: FTP MVC framework
|
@@ -115,9 +115,9 @@ executables: []
|
|
115
115
|
extensions: []
|
116
116
|
extra_rdoc_files: []
|
117
117
|
files:
|
118
|
-
- .gitignore
|
119
|
-
- .rspec
|
120
|
-
- .travis.yml
|
118
|
+
- ".gitignore"
|
119
|
+
- ".rspec"
|
120
|
+
- ".travis.yml"
|
121
121
|
- Gemfile
|
122
122
|
- Guardfile
|
123
123
|
- LICENSE.txt
|
@@ -142,6 +142,7 @@ files:
|
|
142
142
|
- lib/ftpmvc/ftpd.rb
|
143
143
|
- lib/ftpmvc/ftpd/driver.rb
|
144
144
|
- lib/ftpmvc/ftpd/file_system.rb
|
145
|
+
- lib/ftpmvc/logger.rb
|
145
146
|
- lib/ftpmvc/server.rb
|
146
147
|
- lib/ftpmvc/test_helpers.rb
|
147
148
|
- lib/ftpmvc/version.rb
|
@@ -164,12 +165,12 @@ require_paths:
|
|
164
165
|
- lib
|
165
166
|
required_ruby_version: !ruby/object:Gem::Requirement
|
166
167
|
requirements:
|
167
|
-
- -
|
168
|
+
- - ">="
|
168
169
|
- !ruby/object:Gem::Version
|
169
170
|
version: '0'
|
170
171
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
171
172
|
requirements:
|
172
|
-
- -
|
173
|
+
- - ">="
|
173
174
|
- !ruby/object:Gem::Version
|
174
175
|
version: '0'
|
175
176
|
requirements: []
|
@@ -188,4 +189,3 @@ test_files:
|
|
188
189
|
- spec/lib/ftpmvc/format/csv_spec.rb
|
189
190
|
- spec/lib/ftpmvc/server_spec.rb
|
190
191
|
- spec/spec_helper.rb
|
191
|
-
has_rdoc:
|