niftp 2.1.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 4ecdd6f91f41ec89d5f2f51e87d06aa829999a0b
4
- data.tar.gz: def6a841b38631985ea3e1dd5203a034f55f822f
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NDE1MTZiZWMyOGJlZGFmNjhiOTA5YzQwOThiZTQxYzNlMmY5YTE5Nw==
5
+ data.tar.gz: !binary |-
6
+ MTcxYzEyNjZhMjJkYjVjMDkxMDQyYmUzNGI5YWE1ZTAxNTVmOGI2Zg==
5
7
  SHA512:
6
- metadata.gz: 8661c3de51ddb34af10bb16982ef174c6d34a5d9a75f5717e4f47ab308733de1b3acef4359af4287c36043c64ee64c1b84e81f7be0d3aa2cb36b72f33431705a
7
- data.tar.gz: aa51e846a3efae363e2e458193609d4701a6c192ef1b6351a6ed2f44beb9f54116a99000eaccdd75ac7b6034351c5c87cd5c8c428b0c160d2f8b76a149b41885
8
+ metadata.gz: !binary |-
9
+ M2NhNDdiZDBjMGUxZTE5MWJhOTJlZmI1NzczOWIwMmNjZTkzNjlhMDEyM2Yz
10
+ MTY5ZjlhYzFjNjZkZDhlYWJkNjMzOWIxN2E5ODI0Zjg1MWUwNTMxZGJlNzM5
11
+ YWYzYTM3NzY2OWE4MGU4NTAxM2E5ODUzMjQ0ZWRjZjdhMGQ5NjI=
12
+ data.tar.gz: !binary |-
13
+ OGFiMTM4ZmMxYjgyMmVjNzc0YmJhMTk2Zjc1Y2ViYTExMmU5ZDljOTA4YWM5
14
+ MzFlMWU2ZGJlMzVkMGJkZWM4NTUwYmI1NTU0NjgyZTIwN2VmYmY2NDJhZjNk
15
+ OTAxZTRiZjQ4ZmE4MjgxY2I5ZWQxMjQyNTY4OWQ5MjRlZDk3NDA=
data/.gitignore CHANGED
@@ -2,4 +2,5 @@
2
2
  .bundle
3
3
  Gemfile.lock
4
4
  pkg/*
5
- rdoc
5
+ rdoc
6
+ .ruby-version
@@ -1,7 +1,7 @@
1
1
  language: ruby
2
2
  rvm:
3
- - "1.9.3"
4
3
  - "2.0.0"
5
4
  - "2.1.0"
6
5
  - "2.2.0"
6
+ - "2.2.3"
7
7
  - jruby-19mode # JRuby in 1.9 mode
data/README.md CHANGED
@@ -1,4 +1,6 @@
1
- NiFTP, a Ruby gem, makes Ruby's decidedly un-nifty Net::FTP library easier to
1
+ ## NiFTP
2
+ Only supports Ruby 2.0.0+
3
+ A Ruby gem, makes Ruby's decidedly un-nifty Net::FTP library easier to
2
4
  use. It abstracts away the FTP plumbing, such as establishing and closing
3
5
  connections. Options include retrying your commands on flakey FTP servers, and
4
6
  forced timeouts. FTP Secure (FTPS) is also supported.
@@ -25,10 +27,19 @@ forced timeouts. FTP Secure (FTPS) is also supported.
25
27
  class SomeObject
26
28
  include NiFTP
27
29
 
30
+ def ftps_options
31
+ {
32
+ username: "",
33
+ password: "",
34
+ ftps: true,
35
+ ssl_context_params: {
36
+ verify_mode: OpenSSL::SSL::VERIFY_NONE
37
+ }
38
+ }
39
+ end
40
+
28
41
  def ftp_stuff
29
- # get a file from an FTP Secure (FTPS) server
30
- ftp("ftp.secure.com", { username: "some_user", password: "FTP_FTL",
31
- ftps: true }) do |client|
42
+ ftp("ftp.appareldownload.com", ftps_options) do |client|
32
43
  files = client.list('n*')
33
44
  # ...
34
45
  file = client.getbinaryfile('nif.rb-0.91.gz', 'nif.gz', 1024)
@@ -42,7 +53,6 @@ forced timeouts. FTP Secure (FTPS) is also supported.
42
53
  * **username**: The user name, if required by the host (default: "").
43
54
  * **password**: The password, if required by the host (default: "").
44
55
  * **port**: The port for the host (default: 21).
45
- * **ftps**: Set to true if connecting to a FTP Secure server (default: false).
46
56
  * **tries**: The number of times to try the given FTP commands upon any
47
57
  exception, before raising the exception (Default: 2, meaning it will *retry
48
58
  once* upon any exception).
@@ -57,6 +67,9 @@ forced timeouts. FTP Secure (FTPS) is also supported.
57
67
  (default: 30). Use 0 to disable the authentication timeout.
58
68
  * **passive**: Set to false to prevent a connection in passive mode (default:
59
69
  true).
70
+ * **ftps**: Set to true if connecting to a FTP Secure server (default: false).
71
+ * **ftps_mode**: Set to one of the following: `DoubleBagFTPS::EXPLICIT` or `DoubleBagFTPS::IMPLICIT` (default: `DoubleBagFTPS::IMPLICIT`).
72
+ * **ssl_context_params**: See the [DoubleBagFTPS](https://github.com/bnix/double-bag-ftps) for options. (default: { }).
60
73
 
61
74
  ## Caveats
62
75
 
@@ -1,5 +1,5 @@
1
1
  require "net/ftp"
2
- require "ftpfxp"
2
+ require "double_bag_ftps"
3
3
  require "retryable"
4
4
  require "timeout"
5
5
 
@@ -35,8 +35,20 @@ module NiFTP
35
35
  end
36
36
 
37
37
  def instantiate_ftp_per_options(options)
38
- (options[:ftps] ? Net::FTPFXPTLS.new : Net::FTP.new).tap do |ftp|
39
- ftp.passive = options[:passive]
38
+ (options[:ftps] ? DoubleBagFTPS.new : Net::FTP.new).tap do |obj|
39
+ if options[:ftps]
40
+ if options[:ftps_mode]
41
+ obj.ftps_mode = options[:ftps_mode]
42
+ end
43
+
44
+ if options[:ssl_context_params]
45
+ obj.ssl_context = DoubleBagFTPS.create_ssl_context(
46
+ options[:ssl_context_params]
47
+ )
48
+ end
49
+ end
50
+
51
+ obj.passive = options[:passive]
40
52
  end
41
53
  end
42
54
 
@@ -1,3 +1,3 @@
1
1
  module NiFTP
2
- VERSION = "2.1.0"
2
+ VERSION = "3.0.0"
3
3
  end
@@ -28,12 +28,10 @@ Gem::Specification.new do |s|
28
28
  s.extra_rdoc_files = ["README.md"] + Dir.glob("doc/*")
29
29
 
30
30
  # Dependencies
31
- s.add_dependency "ftpfxp", ">= 0.0.4"
31
+ s.add_dependency "double-bag-ftps", ">= 0.1.3"
32
32
  s.add_dependency "retryable", ">= 2.0"
33
33
  s.add_dependency "i18n", ">= 0.5"
34
34
  s.add_development_dependency "minitest", "~> 4.7"
35
- s.add_development_dependency "guard", "~> 1.8.3"
36
- s.add_development_dependency "guard-minitest", "~> 1.0.1"
37
35
  s.add_development_dependency "mocha", "~> 0.14"
38
36
  s.add_development_dependency "rake"
39
37
  end
@@ -98,8 +98,8 @@ module NiFTP
98
98
  object.ftp(host, { :timeout => 1 })
99
99
  end
100
100
 
101
- it "must use the FTPFXP (FTPS) library when instructed" do
102
- Net::FTPFXPTLS.expects(:new).once.returns(ftp)
101
+ it "must use the DoubleBagFTPS library when instructed" do
102
+ DoubleBagFTPS.expects(:new).once.returns(ftp)
103
103
  object.ftp(host, { :ftps => true })
104
104
  end
105
105
  end
@@ -110,4 +110,4 @@ module NiFTP
110
110
  Net::FTP.stubs(:new => ftp)
111
111
  end
112
112
  end
113
- end
113
+ end
metadata CHANGED
@@ -1,125 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: niftp
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christopher R. Murphy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-22 00:00:00.000000000 Z
11
+ date: 2017-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: ftpfxp
14
+ name: double-bag-ftps
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - ! '>='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.0.4
19
+ version: 0.1.3
20
20
  type: :runtime
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.4
26
+ version: 0.1.3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: retryable
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '2.0'
34
34
  type: :runtime
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: '2.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: i18n
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0.5'
48
48
  type: :runtime
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.5'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: '4.7'
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: '4.7'
69
- - !ruby/object:Gem::Dependency
70
- name: guard
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: 1.8.3
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: 1.8.3
83
- - !ruby/object:Gem::Dependency
84
- name: guard-minitest
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: 1.0.1
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: 1.0.1
97
69
  - !ruby/object:Gem::Dependency
98
70
  name: mocha
99
71
  requirement: !ruby/object:Gem::Requirement
100
72
  requirements:
101
- - - "~>"
73
+ - - ~>
102
74
  - !ruby/object:Gem::Version
103
75
  version: '0.14'
104
76
  type: :development
105
77
  prerelease: false
106
78
  version_requirements: !ruby/object:Gem::Requirement
107
79
  requirements:
108
- - - "~>"
80
+ - - ~>
109
81
  - !ruby/object:Gem::Version
110
82
  version: '0.14'
111
83
  - !ruby/object:Gem::Dependency
112
84
  name: rake
113
85
  requirement: !ruby/object:Gem::Requirement
114
86
  requirements:
115
- - - ">="
87
+ - - ! '>='
116
88
  - !ruby/object:Gem::Version
117
89
  version: '0'
118
90
  type: :development
119
91
  prerelease: false
120
92
  version_requirements: !ruby/object:Gem::Requirement
121
93
  requirements:
122
- - - ">="
94
+ - - ! '>='
123
95
  - !ruby/object:Gem::Version
124
96
  version: '0'
125
97
  description: NiFTP makes Ruby's decidedly un-nifty Net::FTP library easier to use.
@@ -130,11 +102,10 @@ extensions: []
130
102
  extra_rdoc_files:
131
103
  - README.md
132
104
  files:
133
- - ".gitignore"
134
- - ".travis.yml"
105
+ - .gitignore
106
+ - .travis.yml
135
107
  - CONTRIBUTING.md
136
108
  - Gemfile
137
- - Guardfile
138
109
  - MIT-LICENSE
139
110
  - README.md
140
111
  - Rakefile
@@ -149,22 +120,22 @@ licenses:
149
120
  metadata: {}
150
121
  post_install_message:
151
122
  rdoc_options:
152
- - "--include=examples --main README.md"
123
+ - --include=examples --main README.md
153
124
  require_paths:
154
125
  - lib
155
126
  required_ruby_version: !ruby/object:Gem::Requirement
156
127
  requirements:
157
- - - ">="
128
+ - - ! '>='
158
129
  - !ruby/object:Gem::Version
159
130
  version: '0'
160
131
  required_rubygems_version: !ruby/object:Gem::Requirement
161
132
  requirements:
162
- - - ">="
133
+ - - ! '>='
163
134
  - !ruby/object:Gem::Version
164
135
  version: '0'
165
136
  requirements: []
166
137
  rubyforge_project: niftp
167
- rubygems_version: 2.2.3
138
+ rubygems_version: 2.6.8
168
139
  signing_key:
169
140
  specification_version: 4
170
141
  summary: NiFTP makes Ruby's decidedly un-nifty Net::FTP library easier to use.
data/Guardfile DELETED
@@ -1,7 +0,0 @@
1
- group :ruby do
2
- guard :minitest, all_on_start: false do
3
- watch(%r{^test/.+_test\.rb$})
4
- watch('test/test_helper.rb') { "test" }
5
- watch(%r{^lib/(.+)\.rb$}) { |m| "test/#{m[1]}_test.rb" }
6
- end
7
- end