paperclip-remote 0.5.0 → 0.7.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.
Files changed (3) hide show
  1. data/README.rdoc +1 -0
  2. data/lib/paperclip/remote.rb +21 -6
  3. metadata +58 -16
data/README.rdoc CHANGED
@@ -1,5 +1,6 @@
1
1
  = Paperclip remote URL plugin
2
2
 
3
+ {<img src="https://travis-ci.org/bsm/paperclip_remote.png?branch=master" alt="Build Status" />}[https://travis-ci.org/bsm/paperclip_remote]
3
4
  Allows fetching files/attachments from remote locations.
4
5
 
5
6
  == Installation
@@ -19,21 +19,36 @@ require 'open-uri'
19
19
  module Paperclip::Remote
20
20
 
21
21
  def has_attached_file_with_remote(name, options = {})
22
- has_attached_file_without_remote(name, options)
22
+ original = has_attached_file_without_remote(name, options)
23
+ return original unless attachment_definitions[name][:remote]
23
24
 
24
- if attachment_definitions[name][:remote]
25
- attr_accessor :"#{name}_remote_url"
25
+ attr_reader :"#{name}_remote_url"
26
+ define_method :"#{name}_remote_url=" do |string|
27
+ url = URI(string.presence) rescue nil
28
+ url = nil unless URI::HTTP === url
29
+ instance_variable_set(:"@#{name}_remote_url", url)
30
+ end
31
+
32
+ before_validation do |record|
33
+ url = record.send(:"#{name}_remote_url")
34
+ break unless url.present?
26
35
 
27
- before_validation do |record|
28
- url = record.send(:"#{name}_remote_url")
29
- if url.present? && (io = open(URI.parse(url)) rescue nil)
36
+ begin
37
+ if Paperclip::VERSION < "3.1.4"
38
+ io = open(url.to_s)
30
39
  def io.original_filename
31
40
  File.basename(base_uri.path)
32
41
  end
33
42
  send :"#{name}=", io
43
+ else
44
+ record.send(:"#{name}_remote_url=", nil) # Reset!
45
+ send :"#{name}=", url
34
46
  end
47
+ rescue OpenURI::HTTPError
35
48
  end
36
49
  end
50
+
51
+ original
37
52
  end
38
53
 
39
54
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paperclip-remote
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.7.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,27 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-05 00:00:00.000000000 Z
12
+ date: 2013-06-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: paperclip
16
- requirement: &22588980 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 2.3.0
21
+ version: 3.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *22588980
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 3.0.0
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: rake
27
- requirement: &22588540 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *22588540
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: rspec
38
- requirement: &22588040 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *22588040
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: webmock
49
- requirement: &22587580 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *22587580
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  - !ruby/object:Gem::Dependency
59
- name: sqlite3-ruby
60
- requirement: &22593440 !ruby/object:Gem::Requirement
79
+ name: sqlite3
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,7 +85,28 @@ dependencies:
65
85
  version: '0'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *22593440
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: rails
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
69
110
  description: Allows fetching attachments from remote locations
70
111
  email: dimitrij@blacksquaremedia.com
71
112
  executables: []
@@ -74,8 +115,8 @@ extra_rdoc_files: []
74
115
  files:
75
116
  - LICENSE
76
117
  - README.rdoc
77
- - lib/paperclip-remote.rb
78
118
  - lib/paperclip/remote.rb
119
+ - lib/paperclip-remote.rb
79
120
  - lib/paperclip_remote.rb
80
121
  - rails/init.rb
81
122
  homepage: https://github.com/bsm/paperclip-remote
@@ -98,8 +139,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
98
139
  version: 1.3.6
99
140
  requirements: []
100
141
  rubyforge_project:
101
- rubygems_version: 1.8.16
142
+ rubygems_version: 1.8.25
102
143
  signing_key:
103
144
  specification_version: 3
104
145
  summary: Plugin for Paperclip
105
146
  test_files: []
147
+ has_rdoc: