paperclip-storage-ftp 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in paperclip-multistorage.gemspec
3
+ # Specify your gem's dependencies in paperclip-storage-ftp.gemspec
4
4
  gemspec
5
5
 
6
6
  group :test do
data/README.md CHANGED
@@ -61,7 +61,8 @@ class User < ActiveRecord::Base
61
61
  :host => "ftp2.example.com",
62
62
  :user => "foo",
63
63
  :password => "bar",
64
- :port => 2121
64
+ :port => 2121,
65
+ :passive => true # false by default
65
66
  }
66
67
  ]
67
68
  end
@@ -60,19 +60,7 @@ module Paperclip
60
60
  end
61
61
 
62
62
  def ftp_servers
63
- @ftp_servers ||= begin
64
- ftp_servers = []
65
- @options[:ftp_servers].each do |config|
66
- server = Server.new(
67
- :host => config[:host],
68
- :user => config[:user],
69
- :password => config[:password],
70
- :port => config[:port]
71
- )
72
- ftp_servers << server
73
- end
74
- ftp_servers
75
- end
63
+ @ftp_servers ||= @options[:ftp_servers].map{|config| Server.new(config) }
76
64
  end
77
65
 
78
66
  def primary_ftp_server
@@ -12,7 +12,7 @@ module Paperclip
12
12
  @@connections.clear
13
13
  end
14
14
 
15
- attr_accessor :host, :user, :password
15
+ attr_accessor :host, :user, :password, :passive
16
16
  attr_writer :port
17
17
 
18
18
  def initialize(options = {})
@@ -50,6 +50,7 @@ module Paperclip
50
50
 
51
51
  def build_connection
52
52
  connection = Net::FTP.new
53
+ connection.passive = passive
53
54
  connection.connect(host, port)
54
55
  connection
55
56
  end
@@ -11,7 +11,7 @@ Gem::Specification.new do |gem|
11
11
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
12
12
  gem.name = "paperclip-storage-ftp"
13
13
  gem.require_paths = ["lib"]
14
- gem.version = "1.0.2"
14
+ gem.version = "1.0.3"
15
15
 
16
16
  gem.add_dependency("paperclip")
17
17
 
@@ -13,17 +13,19 @@ describe Paperclip::Storage::Ftp::Server do
13
13
  :host => "ftp.example.com",
14
14
  :user => "user",
15
15
  :password => "password",
16
- :port => 2121
16
+ :port => 2121,
17
+ :passive => true
17
18
  }
18
19
  server = Paperclip::Storage::Ftp::Server.new(options)
19
20
  server.host.should == options[:host]
20
21
  server.user.should == options[:user]
21
22
  server.password.should == options[:password]
22
23
  server.port.should == options[:port]
24
+ server.passive.should == options[:passive]
23
25
  end
24
26
 
25
27
  it "sets a default port" do
26
- server = Paperclip::Storage::Ftp::Server.new(:port => nil)
28
+ server = Paperclip::Storage::Ftp::Server.new
27
29
  server.port.should == Net::FTP::FTP_PORT
28
30
  end
29
31
  end
@@ -98,6 +100,7 @@ describe Paperclip::Storage::Ftp::Server do
98
100
  it "returns an ftp connection for the given server" do
99
101
  connection = double("connection")
100
102
  Net::FTP.should_receive(:new).and_return(connection)
103
+ connection.should_receive(:passive=).with(server.passive)
101
104
  connection.should_receive(:connect).with(server.host, server.port)
102
105
  server.build_connection.should == connection
103
106
  end
@@ -13,12 +13,14 @@ describe Paperclip::Storage::Ftp do
13
13
  {
14
14
  :host => "ftp1.example.com",
15
15
  :user => "user1",
16
- :password => "password1"
16
+ :password => "password1",
17
+ :port => 2121
17
18
  },
18
19
  {
19
20
  :host => "ftp2.example.com",
20
21
  :user => "user2",
21
- :password => "password2"
22
+ :password => "password2",
23
+ :passive => true
22
24
  }
23
25
  ]
24
26
  })
@@ -126,9 +128,11 @@ describe Paperclip::Storage::Ftp do
126
128
  attachment.ftp_servers.first.host.should == "ftp1.example.com"
127
129
  attachment.ftp_servers.first.user.should == "user1"
128
130
  attachment.ftp_servers.first.password.should == "password1"
131
+ attachment.ftp_servers.first.port.should == 2121
129
132
  attachment.ftp_servers.second.host.should == "ftp2.example.com"
130
133
  attachment.ftp_servers.second.user.should == "user2"
131
134
  attachment.ftp_servers.second.password.should == "password2"
135
+ attachment.ftp_servers.second.passive.should == true
132
136
  end
133
137
  end
134
138
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paperclip-storage-ftp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-08 00:00:00.000000000 Z
12
+ date: 2013-03-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: paperclip
@@ -158,15 +158,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
158
158
  - - ! '>='
159
159
  - !ruby/object:Gem::Version
160
160
  version: '0'
161
+ segments:
162
+ - 0
163
+ hash: -1988300321926789163
161
164
  required_rubygems_version: !ruby/object:Gem::Requirement
162
165
  none: false
163
166
  requirements:
164
167
  - - ! '>='
165
168
  - !ruby/object:Gem::Version
166
169
  version: '0'
170
+ segments:
171
+ - 0
172
+ hash: -1988300321926789163
167
173
  requirements: []
168
174
  rubyforge_project:
169
- rubygems_version: 1.8.24
175
+ rubygems_version: 1.8.25
170
176
  signing_key:
171
177
  specification_version: 3
172
178
  summary: Allow Paperclip attachments to be stored on FTP servers