ftp_transfer 0.0.1 → 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 8d7063aae5241ea45be268c24339f1558350fa31
4
- data.tar.gz: e47c6e917f558fe7249a116405a906174effd4e2
2
+ SHA256:
3
+ metadata.gz: a46f99b16eab2c4c7ea74fe30350d759ce734bd438f74fde31574776cdcf378c
4
+ data.tar.gz: 3a12f565f56163b037619f4d1c3d2b43419b0c0af1e1642176ca4a345840dd7a
5
5
  SHA512:
6
- metadata.gz: 55ec85183f3cecd38928dc714dcfaddfd3d0f4440505f0cd0b8d8f701f1457cf94789f5d6da7a9d466e0390bdeae1408c2b5dce3a6b8cdc19bf2f0b6b275c7e7
7
- data.tar.gz: de7fbceea0bf3c48cef384180cf133d86c5d6b473fe4e0d2b6f93003bc2ee6e70b0cad08b75e919fdb703fa0661ce1c2fa489322c4a18f72b1a46a1ba548d7b8
6
+ metadata.gz: 8898920bb4d6d4ed0d9c159e65fbdbe1df50b81bd07802a513d5ecc39b596031031acfad1ba31fdbed3c1f1a847bea87a67e85d5e936c588503a3b54cbd132fa
7
+ data.tar.gz: 68eab974c056c3e14923af52a8db600c5105a864ecd959270f702d481efb472f4ad992e7e19766308fc4616d0f2b17bd882d123387ec6ff5e58ee80237cce4c8
@@ -0,0 +1 @@
1
+ Gemfile.lock
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
@@ -0,0 +1,28 @@
1
+ ftp_transfer
2
+ ============
3
+
4
+ The ftp_transfer gem was designed in an attempt to create a simpler api for bulk ftp transfers.
5
+
6
+ Here is an example of an upload. In this case, the optional archive directory option has been specified so a copy of the transferred files will be kept locally in that directory. The pattern option is also optional and will default to '*'.
7
+ ```ruby
8
+ require 'ftp_transfer'
9
+ FtpTransfer.new(
10
+ host: 'foobar.bazquux.com',
11
+ user: 'user',
12
+ pass: 'password',
13
+ port: 21212, # optional param (will default to 21)
14
+ local_dir: '~/files-to-send',
15
+ pattern: '*.jpg',
16
+ archive_dir: '~/archived-files').upload('file-upload-dir')
17
+ ```
18
+
19
+ Here is an example of a download
20
+ ```ruby
21
+ FtpTransfer.new(
22
+ host: 'foobar.bazquux.com',
23
+ user: 'user',
24
+ pass: 'password',
25
+ local_dir: '~/received-files',
26
+ pattern: '*.jpg').download('file-download-dir')
27
+ ```
28
+ There is not currently an archive option for the download method. If you need that for your application, feel free to send a pull request.
@@ -0,0 +1,21 @@
1
+ lib = File.expand_path("../lib", __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require "ftp_transfer/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'ftp_transfer'
7
+ spec.version = FtpTransfer::VERSION
8
+ spec.summary = 'Bulk FTP Transfer'
9
+ spec.description = 'A bulk ftp transfer library'
10
+ spec.authors = ['Eric Mathison']
11
+ spec.email = 'dev@ekmathison.com'
12
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
13
+ f.match(%r{^test/})
14
+ end
15
+ spec.licenses = ['GPL-2.0']
16
+ spec.add_development_dependency 'fake_ftp', '~> 0.3'
17
+ spec.add_development_dependency 'minitest', '~> 5.0'
18
+ spec.add_runtime_dependency 'stringglob', '~> 0.0.3'
19
+ spec.homepage =
20
+ 'https://github.com/ericmathison/ftp_transfer'
21
+ end
@@ -1,20 +1,24 @@
1
+ require 'ftp_transfer/version'
1
2
  require 'net/ftp'
2
3
  require 'digest/md5'
3
4
  require 'fileutils'
4
5
  require 'stringglob'
5
6
 
6
7
  class FtpTransfer
7
- def initialize(host, user, password, local_directory, options = {})
8
- @host = host
9
- @user = user
10
- @password = password
11
- @local_directory = File.expand_path(local_directory)
8
+ def initialize(options = {})
9
+ @host = options[:host]
10
+ @user = options[:user]
11
+ @password = options[:pass]
12
+ @local_directory = File.expand_path(options[:local_dir])
12
13
  @archive_directory = nil
13
14
  if options[:archive_dir]
14
15
  @archive_directory = File.expand_path(options[:archive_dir])
15
16
  end
16
17
  @pattern = options[:pattern] || '*'
17
- @ftp = Net::FTP.new(@host, @user, @password)
18
+ @port = options[:port] || 21
19
+ @ftp = Net::FTP.new
20
+ @ftp.connect(@host, @port)
21
+ @ftp.login(@user, @password)
18
22
  @ftp.passive = true
19
23
  end
20
24
 
@@ -0,0 +1,3 @@
1
+ class FtpTransfer
2
+ VERSION = '0.1.0'
3
+ end
metadata CHANGED
@@ -1,41 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ftp_transfer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Mathison
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-24 00:00:00.000000000 Z
11
+ date: 2018-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fake_ftp
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '='
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.0.9
19
+ version: '0.3'
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
- version: 0.0.9
26
+ version: '0.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '5.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '5.0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: stringglob
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - ~>
45
+ - - "~>"
32
46
  - !ruby/object:Gem::Version
33
47
  version: 0.0.3
34
48
  type: :runtime
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - ~>
52
+ - - "~>"
39
53
  - !ruby/object:Gem::Version
40
54
  version: 0.0.3
41
55
  description: A bulk ftp transfer library
@@ -44,10 +58,15 @@ executables: []
44
58
  extensions: []
45
59
  extra_rdoc_files: []
46
60
  files:
61
+ - ".gitignore"
62
+ - Gemfile
63
+ - README.md
64
+ - ftp_transfer.gemspec
47
65
  - lib/ftp_transfer.rb
48
- homepage: http://github.com/ericmathison/ftp_transfer
66
+ - lib/ftp_transfer/version.rb
67
+ homepage: https://github.com/ericmathison/ftp_transfer
49
68
  licenses:
50
- - GPL-2
69
+ - GPL-2.0
51
70
  metadata: {}
52
71
  post_install_message:
53
72
  rdoc_options: []
@@ -55,17 +74,17 @@ require_paths:
55
74
  - lib
56
75
  required_ruby_version: !ruby/object:Gem::Requirement
57
76
  requirements:
58
- - - '>='
77
+ - - ">="
59
78
  - !ruby/object:Gem::Version
60
79
  version: '0'
61
80
  required_rubygems_version: !ruby/object:Gem::Requirement
62
81
  requirements:
63
- - - '>='
82
+ - - ">="
64
83
  - !ruby/object:Gem::Version
65
84
  version: '0'
66
85
  requirements: []
67
86
  rubyforge_project:
68
- rubygems_version: 2.0.5
87
+ rubygems_version: 2.7.3
69
88
  signing_key:
70
89
  specification_version: 4
71
90
  summary: Bulk FTP Transfer