paperclip_database 1.0.5 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +7 -0
  2. data/.ruby-version +1 -0
  3. data/.travis.yml +15 -12
  4. data/Appraisals +28 -78
  5. data/Gemfile +2 -0
  6. data/README.md +10 -17
  7. data/features/basic_integration.feature +6 -2
  8. data/features/step_definitions/rails_steps.rb +74 -32
  9. data/features/support/rails.rb +8 -4
  10. data/gemfiles/{rails30_paperclip25.gemfile → rails30_paperclip23.gemfile} +1 -1
  11. data/gemfiles/{rails30_paperclip31.gemfile → rails30_paperclip2x.gemfile} +1 -1
  12. data/gemfiles/{rails30_paperclip26.gemfile → rails30_paperclip3x.gemfile} +1 -1
  13. data/gemfiles/{rails31_paperclip25.gemfile → rails31_paperclip23.gemfile} +1 -1
  14. data/gemfiles/{rails31_paperclip31.gemfile → rails31_paperclip2x.gemfile} +1 -1
  15. data/gemfiles/{rails31_paperclip26.gemfile → rails31_paperclip3x.gemfile} +1 -1
  16. data/gemfiles/{rails32_paperclip25.gemfile → rails32_paperclip23.gemfile} +1 -1
  17. data/gemfiles/{rails32_paperclip31.gemfile → rails32_paperclip2x.gemfile} +1 -1
  18. data/gemfiles/{rails32_paperclip26.gemfile → rails32_paperclip3x.gemfile} +1 -1
  19. data/gemfiles/{rails2_paperclip27.gemfile → rails40_paperclip34.gemfile} +2 -2
  20. data/gemfiles/{rails2_legacy.gemfile → rails40_paperclip3x.gemfile} +2 -2
  21. data/lib/paperclip/storage/database.rb +40 -33
  22. data/lib/paperclip_database/version.rb +1 -1
  23. data/paperclip_database.gemspec +3 -5
  24. metadata +56 -74
  25. data/.rvmrc +0 -1
  26. data/gemfiles/rails2_paperclip25.gemfile +0 -9
  27. data/gemfiles/rails2_paperclip26.gemfile +0 -9
  28. data/gemfiles/rails30_paperclip27.gemfile +0 -9
  29. data/gemfiles/rails30_paperclip32.gemfile +0 -9
  30. data/gemfiles/rails31_paperclip27.gemfile +0 -9
  31. data/gemfiles/rails31_paperclip32.gemfile +0 -9
  32. data/gemfiles/rails32_paperclip27.gemfile +0 -9
  33. data/gemfiles/rails32_paperclip32.gemfile +0 -9
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 09d3aa4732581467b9fc42956a01b056ed8886f4
4
+ data.tar.gz: b6c7a2b6dc89f0b4cf417026c211b27c3a1f3099
5
+ SHA512:
6
+ metadata.gz: 0d4e3af513f1d0f97e07338ed3ad9f88bb4c452b4b5d06b124190b5e3b57873936ad55ac2693abc8c8d9366ae772849a31b90ea91abaa169d4b737ccce3f1127
7
+ data.tar.gz: 30e43365c0bd6612037944d90332da8285426a8f2930216ee2d1a6b7aa3b51cb0f68bbc8d1701c09f777982f3afa00aabc3cb07404ac85380487777501eeb8be
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 1.9.3-p448
data/.travis.yml CHANGED
@@ -1,16 +1,19 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.2
4
3
  - 1.9.3
4
+ - 2.0.0
5
5
  gemfile:
6
- - gemfiles/rails2_legacy.gemfile
7
- - gemfiles/rails2_paperclip27.gemfile
8
- - gemfiles/rails30_paperclip25.gemfile
9
- - gemfiles/rails30_paperclip27.gemfile
10
- - gemfiles/rails30_paperclip31.gemfile
11
- - gemfiles/rails31_paperclip25.gemfile
12
- - gemfiles/rails31_paperclip27.gemfile
13
- - gemfiles/rails31_paperclip31.gemfile
14
- - gemfiles/rails32_paperclip25.gemfile
15
- - gemfiles/rails32_paperclip27.gemfile
16
- - gemfiles/rails32_paperclip31.gemfile
6
+ - gemfiles/rails30_paperclip23.gemfile
7
+ - gemfiles/rails30_paperclip2x.gemfile
8
+ - gemfiles/rails30_paperclip30.gemfile
9
+ - gemfiles/rails30_paperclip3x.gemfile
10
+ - gemfiles/rails31_paperclip23.gemfile
11
+ - gemfiles/rails31_paperclip2x.gemfile
12
+ - gemfiles/rails31_paperclip30.gemfile
13
+ - gemfiles/rails31_paperclip3x.gemfile
14
+ - gemfiles/rails32_paperclip23.gemfile
15
+ - gemfiles/rails32_paperclip2x.gemfile
16
+ - gemfiles/rails32_paperclip30.gemfile
17
+ - gemfiles/rails32_paperclip3x.gemfile
18
+ - gemfiles/rails40_paperclip34.gemfile
19
+ - gemfiles/rails40_paperclip3x.gemfile
data/Appraisals CHANGED
@@ -1,46 +1,15 @@
1
1
  #-*- ruby -*-
2
- appraise "rails2_legacy" do
3
- gem "rails", "~> 2.3"
4
- gem "paperclip", "~> 2.3.1"
5
- gem "paperclip_database", :path => "../"
6
- end
7
-
8
- appraise "rails2_paperclip25" do
9
- gem "rails", "~> 2.3.0"
10
- gem "paperclip", "~> 2.5.0"
11
- gem "paperclip_database", :path => "../"
12
- end
13
-
14
- appraise "rails2_paperclip26" do
15
- gem "rails", "~> 2.3.0"
16
- gem "paperclip", "~> 2.6.0"
17
- gem "paperclip_database", :path => "../"
18
- end
19
-
20
- appraise "rails2_paperclip27" do
21
- gem "rails", "~> 2.3.0"
22
- gem "paperclip", "~> 2.7.0"
23
- gem "paperclip_database", :path => "../"
24
- end
25
-
26
-
27
2
  ## Rails 3.0
28
3
 
29
- appraise "rails30_paperclip25" do
30
- gem "rails", "~> 3.0.0"
31
- gem "paperclip", "~> 2.5.0"
32
- gem "paperclip_database", :path => "../"
33
- end
34
-
35
- appraise "rails30_paperclip26" do
4
+ appraise "rails30_paperclip23" do
36
5
  gem "rails", "~> 3.0.0"
37
- gem "paperclip", "~> 2.6.0"
6
+ gem "paperclip", "~> 2.3.0"
38
7
  gem "paperclip_database", :path => "../"
39
8
  end
40
9
 
41
- appraise "rails30_paperclip27" do
10
+ appraise "rails30_paperclip2x" do
42
11
  gem "rails", "~> 3.0.0"
43
- gem "paperclip", "~> 2.7.0"
12
+ gem "paperclip", "~> 2.3"
44
13
  gem "paperclip_database", :path => "../"
45
14
  end
46
15
 
@@ -50,36 +19,23 @@ appraise "rails30_paperclip30" do
50
19
  gem "paperclip_database", :path => "../"
51
20
  end
52
21
 
53
- appraise "rails30_paperclip31" do
22
+ appraise "rails30_paperclip3x" do
54
23
  gem "rails", "~> 3.0.0"
55
- gem "paperclip", "~> 3.1.0"
24
+ gem "paperclip", "~> 3.0"
56
25
  gem "paperclip_database", :path => "../"
57
26
  end
58
27
 
59
- appraise "rails30_paperclip32" do
60
- gem "rails", "~> 3.0.0"
61
- gem "paperclip", "~> 3.2.0"
62
- gem "paperclip_database", :path => "../"
63
- end
64
-
65
-
66
28
  ## Rails 3.1
67
29
 
68
- appraise "rails31_paperclip25" do
69
- gem "rails", "~> 3.1.0"
70
- gem "paperclip", "~> 2.5.0"
71
- gem "paperclip_database", :path => "../"
72
- end
73
-
74
- appraise "rails31_paperclip26" do
30
+ appraise "rails31_paperclip23" do
75
31
  gem "rails", "~> 3.1.0"
76
- gem "paperclip", "~> 2.6.0"
32
+ gem "paperclip", "~> 2.3.0"
77
33
  gem "paperclip_database", :path => "../"
78
34
  end
79
35
 
80
- appraise "rails31_paperclip27" do
36
+ appraise "rails31_paperclip2x" do
81
37
  gem "rails", "~> 3.1.0"
82
- gem "paperclip", "~> 2.7.0"
38
+ gem "paperclip", "~> 2.3"
83
39
  gem "paperclip_database", :path => "../"
84
40
  end
85
41
 
@@ -89,36 +45,23 @@ appraise "rails31_paperclip30" do
89
45
  gem "paperclip_database", :path => "../"
90
46
  end
91
47
 
92
- appraise "rails31_paperclip31" do
93
- gem "rails", "~> 3.1.0"
94
- gem "paperclip", "~> 3.1.0"
95
- gem "paperclip_database", :path => "../"
96
- end
97
-
98
- appraise "rails31_paperclip32" do
48
+ appraise "rails31_paperclip3x" do
99
49
  gem "rails", "~> 3.1.0"
100
- gem "paperclip", "~> 3.2.0"
50
+ gem "paperclip", "~> 3.0"
101
51
  gem "paperclip_database", :path => "../"
102
52
  end
103
53
 
104
-
105
54
  ## Rails 3.2
106
55
 
107
- appraise "rails32_paperclip25" do
108
- gem "rails", "~> 3.2.0"
109
- gem "paperclip", "~> 2.5.0"
110
- gem "paperclip_database", :path => "../"
111
- end
112
-
113
- appraise "rails32_paperclip26" do
56
+ appraise "rails32_paperclip23" do
114
57
  gem "rails", "~> 3.2.0"
115
- gem "paperclip", "~> 2.6.0"
58
+ gem "paperclip", "~> 2.3.0"
116
59
  gem "paperclip_database", :path => "../"
117
60
  end
118
61
 
119
- appraise "rails32_paperclip27" do
62
+ appraise "rails32_paperclip2x" do
120
63
  gem "rails", "~> 3.2.0"
121
- gem "paperclip", "~> 2.7.0"
64
+ gem "paperclip", "~> 2.3"
122
65
  gem "paperclip_database", :path => "../"
123
66
  end
124
67
 
@@ -128,16 +71,23 @@ appraise "rails32_paperclip30" do
128
71
  gem "paperclip_database", :path => "../"
129
72
  end
130
73
 
131
- appraise "rails32_paperclip31" do
74
+ appraise "rails32_paperclip3x" do
132
75
  gem "rails", "~> 3.2.0"
133
- gem "paperclip", "~> 3.1.0"
76
+ gem "paperclip", "~> 3.0"
134
77
  gem "paperclip_database", :path => "../"
135
78
  end
136
79
 
137
- appraise "rails32_paperclip32" do
138
- gem "rails", "~> 3.2.0"
139
- gem "paperclip", "~> 3.2.0"
80
+ ## Rails 4.0
81
+
82
+ appraise "rails40_paperclip34" do
83
+ gem "rails", "~> 4.0.0"
84
+ gem "paperclip", "~> 3.4.0"
140
85
  gem "paperclip_database", :path => "../"
141
86
  end
142
87
 
88
+ appraise "rails40_paperclip3x" do
89
+ gem "rails", "~> 4.0.0"
90
+ gem "paperclip", "~> 3.0"
91
+ gem "paperclip_database", :path => "../"
92
+ end
143
93
 
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  gemspec
4
+
5
+ #gem 'aruba', :path => '../aruba'
data/README.md CHANGED
@@ -1,7 +1,9 @@
1
1
  Paperclip Database Storage
2
2
  ==========================
3
3
 
4
- [![Build Status](https://secure.travis-ci.org/softace/paperclip_database.png)](http://travis-ci.org/softace/paperclip_database) [![Dependency Status](https://gemnasium.com/softace/paperclip_database.png)](https://gemnasium.com/softace/paperclip_database) [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/softace/paperclip_database)
4
+ [![Build Status](https://secure.travis-ci.org/softace/paperclip_database.png)](http://travis-ci.org/softace/paperclip_database)
5
+ [![Dependency Status](https://gemnasium.com/softace/paperclip_database.png)](https://gemnasium.com/softace/paperclip_database)
6
+ [![Code Climate](https://codeclimate.com/github/softace/paperclip_database.png)](https://codeclimate.com/github/softace/paperclip_database)
5
7
 
6
8
  Paperclip Database Storage is an additional storage option for
7
9
  Paperclip. It give you the opportunity to store your paperclip binary
@@ -12,6 +14,10 @@ Requirements
12
14
 
13
15
  `paperclip_database` depends on `paperclip`
14
16
 
17
+ It is recommended to use the
18
+ [trim_blobs](https://github.com/softace/trim_blobs) gem to limit the
19
+ logging of BLOB data in your logfiles.
20
+
15
21
  Installation
16
22
  ------------
17
23
 
@@ -20,7 +26,7 @@ should be used in your app.
20
26
 
21
27
  Include the gem in your Gemfile:
22
28
 
23
- gem "paperclip_database", "~> 1.0"
29
+ gem "paperclip_database", "~> 2.0"
24
30
 
25
31
  Or, if you want to get the latest, you can get master from the main
26
32
  paperclip repository:
@@ -33,20 +39,11 @@ to specify the master branch if you want to use them. This README is
33
39
  probably ahead of the latest released version, if you're reading it on
34
40
  GitHub.
35
41
 
36
- For rails 2 you should add this to snippet to your environment.
37
-
38
- # In config/environment.rb
39
- ...
40
- Rails::Initializer.run do |config|
41
- ...
42
- config.gem "paperclip", :version => "~> 2.5"
43
- ...
44
- end
45
-
46
42
  Supported Versions
47
43
  ------------------
48
44
 
49
- Supported version are rails >= 2.3 and paperclip version >= 2.5
45
+ As of version 2.0, Rails 2 is no longer supported.
46
+ Supported version are rails >= 3.0 and paperclip version >= 2.5
50
47
 
51
48
  Quick Start
52
49
  -----------
@@ -72,10 +69,6 @@ In your model:
72
69
  There is a migration generator that will create a basic migration for
73
70
  the extra table.
74
71
 
75
- On the console (rails 2):
76
-
77
- ./script/generate paperclip_database User avatar
78
-
79
72
  On the console (rails 3):
80
73
 
81
74
  bundle exec ./script/rails generate paperclip_database:migration User avatar
@@ -7,6 +7,7 @@ Feature: Rails integration
7
7
  And I run a migration
8
8
  And I update my new user view to include the file upload field
9
9
  And I update my user view to include the attachment
10
+ And I allow the attachment to be submitted
10
11
 
11
12
  Scenario: Database integration test
12
13
  Given I add this snippet to the User model:
@@ -15,10 +16,9 @@ Feature: Rails integration
15
16
  :storage => :database,
16
17
  :database_table => :user_attachments,
17
18
  :url => '/user_attachment_views/:id?style=:style'
18
- attr_accessible :name, :attachment
19
19
  """
20
20
  And I run a "scaffold" generator to generate a "UserAttachmentView" scaffold with ""
21
- Given I add this snippet to the "user_attachment_views" controller:
21
+ Given I replace /^ def show$.*?^ end$/ with this snippet in the "user_attachment_views" controller:
22
22
  """
23
23
  def show
24
24
  style = params[:style] ? params[:style] : 'original'
@@ -28,6 +28,10 @@ Feature: Rails integration
28
28
  :type => record.attachment_content_type
29
29
  end
30
30
  """
31
+ Given I replace /before_action :set_user_attachment_view.*?$/ with this snippet in the "user_attachment_views" controller:
32
+ """
33
+ """
34
+
31
35
  And I run a "paperclip_database:migration" generator to create storage for paperclip "attachment" to the "User" model
32
36
  And I run a migration
33
37
  And I start the rails application
@@ -1,8 +1,9 @@
1
1
  Given /^I generate a new rails application$/ do
2
2
  steps %{
3
- When I run `bundle exec #{new_application_command} #{APP_NAME}`
3
+ When I successfully run `bundle exec #{new_application_command(APP_NAME)}`
4
4
  And I cd to "#{APP_NAME}"
5
5
  And I turn off class caching
6
+ And I fix the application.rb for 3.0.12
6
7
  And I write to "Gemfile" with:
7
8
  """
8
9
  source "http://rubygems.org"
@@ -12,12 +13,58 @@ Given /^I generate a new rails application$/ do
12
13
  gem "gherkin"
13
14
  gem "paperclip", "#{paperclip_version}"
14
15
  """
16
+ And I remove turbolinks
17
+ And I empty the application.js file
15
18
  And I configure the application to use "paperclip_database" from this project
16
19
  And I reset Bundler environment variable
17
20
  And I successfully run `bundle install --local`
18
21
  }
19
22
  end
20
23
 
24
+ Given "I fix the application.rb for 3.0.12" do
25
+ ##See https://github.com/rails/rails/issues/9619
26
+ in_current_dir do
27
+ File.open("config/application.rb", "a") do |f|
28
+ f << "ActionController::Base.config.relative_url_root = ''"
29
+ end
30
+ end
31
+ end
32
+
33
+ Given "I allow the attachment to be submitted" do
34
+ in_current_dir do
35
+ if framework_major_version == 3
36
+ transform_file("app/models/user.rb") do |content|
37
+ content.gsub("attr_accessible :name",
38
+ "attr_accessible :name, :attachment")
39
+ end
40
+ else
41
+ transform_file("app/controllers/users_controller.rb") do |content|
42
+ content.gsub("params.require(:user).permit(:name)",
43
+ "params.require(:user).permit!")
44
+ end
45
+ end
46
+ end
47
+ end
48
+
49
+ Given "I remove turbolinks" do
50
+ in_current_dir do
51
+ transform_file("app/assets/javascripts/application.js") do |content|
52
+ content.gsub("//= require turbolinks", "")
53
+ end
54
+ transform_file("app/views/layouts/application.html.erb") do |content|
55
+ content.gsub(', "data-turbolinks-track" => true', "")
56
+ end
57
+ end
58
+ end
59
+
60
+ Given "I empty the application.js file" do
61
+ in_current_dir do
62
+ transform_file("app/assets/javascripts/application.js") do |content|
63
+ ""
64
+ end
65
+ end
66
+ end
67
+
21
68
  Given /^I run a "(.*?)" generator to generate a "(.*?)" scaffold with "(.*?)"$/ do |generator_name, model_name, attributes|
22
69
  step %[I successfully run `bundle exec #{generator_command} #{generator_name} #{model_name} #{attributes}`]
23
70
  end
@@ -38,33 +85,18 @@ Given /^I run a migration$/ do
38
85
  end
39
86
 
40
87
  Given /^I update my new user view to include the file upload field$/ do
41
- if framework_version?("3")
42
- steps %{
43
- Given I overwrite "app/views/users/new.html.erb" with:
44
- """
45
- <%= form_for @user, :html => { :multipart => true } do |f| %>
46
- <%= f.label :name %>
47
- <%= f.text_field :name %>
48
- <%= f.label :attachment %>
49
- <%= f.file_field :attachment %>
50
- <%= submit_tag "Submit" %>
51
- <% end %>
52
- """
53
- }
54
- else
55
- steps %{
56
- Given I overwrite "app/views/users/new.html.erb" with:
57
- """
58
- <% form_for @user, :html => { :multipart => true } do |f| %>
59
- <%= f.label :name %>
60
- <%= f.text_field :name %>
61
- <%= f.label :attachment %>
62
- <%= f.file_field :attachment %>
63
- <%= submit_tag "Submit" %>
64
- <% end %>
65
- """
66
- }
67
- end
88
+ steps %{
89
+ Given I overwrite "app/views/users/new.html.erb" with:
90
+ """
91
+ <%= form_for @user, :html => { :multipart => true } do |f| %>
92
+ <%= f.label :name %>
93
+ <%= f.text_field :name %>
94
+ <%= f.label :attachment %>
95
+ <%= f.file_field :attachment %>
96
+ <%= submit_tag "Submit" %>
97
+ <% end %>
98
+ """
99
+ }
68
100
  end
69
101
 
70
102
  Given /^I update my user view to include the attachment$/ do
@@ -85,11 +117,11 @@ Given /^I add this snippet to the User model:$/ do |snippet|
85
117
  end
86
118
  end
87
119
 
88
- Given /^I add this snippet to the "(.*?)" controller:$/ do |controller_name, snippet|
89
- file_name = "app/controllers/#{controller_name}_controller.rb"
120
+ Given /^I replace \/(.*?)\/ with this snippet in the "(.*?)" controller:$/ do |pattern, controller_name, snippet|
90
121
  in_current_dir do
91
- content = File.read(file_name)
92
- File.open(file_name, 'w') { |f| f << content.sub(/end\Z/, "#{snippet}\nend") }
122
+ transform_file("app/controllers/#{controller_name}_controller.rb") do |content|
123
+ content.gsub(Regexp.new(pattern, Regexp::MULTILINE), snippet)
124
+ end
93
125
  end
94
126
  end
95
127
 
@@ -198,6 +230,16 @@ module FileHelpers
198
230
  File.open("Gemfile", 'w'){ |file| file.write(gemfile) }
199
231
  end
200
232
  end
233
+
234
+ def transform_file(filename)
235
+ if File.exists?(filename)
236
+ content = File.read(filename)
237
+ File.open(filename, "w") do |f|
238
+ content = yield(content)
239
+ f.write(content)
240
+ end
241
+ end
242
+ end
201
243
  end
202
244
 
203
245
  World(FileHelpers)
@@ -31,16 +31,20 @@ module RailsCommandHelpers
31
31
  @framework_version ||= `rails -v`[/^Rails (.+)$/, 1]
32
32
  end
33
33
 
34
- def new_application_command
35
- framework_version?("3") ? "rails new" : "rails"
34
+ def framework_major_version
35
+ framework_version.split(".").first.to_i
36
+ end
37
+
38
+ def new_application_command(app_name)
39
+ framework_major_version >= 3 ? "rails new #{app_name} --skip-sprockets --skip-javascript --skip-bundle" : "rails"
36
40
  end
37
41
 
38
42
  def generator_command
39
- framework_version?("3") ? "script/rails generate" : "script/generate"
43
+ framework_major_version >= 3 ? "rails generate" : "script/generate"
40
44
  end
41
45
 
42
46
  def runner_command
43
- framework_version?("3") ? "script/rails runner" : "script/runner"
47
+ framework_major_version >= 3 ? "rails runner" : "script/runner"
44
48
  end
45
49
 
46
50
  def rails2_generator_name(rails3_generator_name)
@@ -3,7 +3,7 @@
3
3
  source "http://rubygems.org"
4
4
 
5
5
  gem "rails", "~> 3.0.0"
6
- gem "paperclip", "~> 2.5.0"
6
+ gem "paperclip", "~> 2.3.0"
7
7
  gem "paperclip_database", :path=>"../"
8
8
 
9
9
  gemspec :path=>"../"
@@ -3,7 +3,7 @@
3
3
  source "http://rubygems.org"
4
4
 
5
5
  gem "rails", "~> 3.0.0"
6
- gem "paperclip", "~> 3.1.0"
6
+ gem "paperclip", "~> 2.3"
7
7
  gem "paperclip_database", :path=>"../"
8
8
 
9
9
  gemspec :path=>"../"
@@ -3,7 +3,7 @@
3
3
  source "http://rubygems.org"
4
4
 
5
5
  gem "rails", "~> 3.0.0"
6
- gem "paperclip", "~> 2.6.0"
6
+ gem "paperclip", "~> 3.0"
7
7
  gem "paperclip_database", :path=>"../"
8
8
 
9
9
  gemspec :path=>"../"
@@ -3,7 +3,7 @@
3
3
  source "http://rubygems.org"
4
4
 
5
5
  gem "rails", "~> 3.1.0"
6
- gem "paperclip", "~> 2.5.0"
6
+ gem "paperclip", "~> 2.3.0"
7
7
  gem "paperclip_database", :path=>"../"
8
8
 
9
9
  gemspec :path=>"../"
@@ -3,7 +3,7 @@
3
3
  source "http://rubygems.org"
4
4
 
5
5
  gem "rails", "~> 3.1.0"
6
- gem "paperclip", "~> 3.1.0"
6
+ gem "paperclip", "~> 2.3"
7
7
  gem "paperclip_database", :path=>"../"
8
8
 
9
9
  gemspec :path=>"../"
@@ -3,7 +3,7 @@
3
3
  source "http://rubygems.org"
4
4
 
5
5
  gem "rails", "~> 3.1.0"
6
- gem "paperclip", "~> 2.6.0"
6
+ gem "paperclip", "~> 3.0"
7
7
  gem "paperclip_database", :path=>"../"
8
8
 
9
9
  gemspec :path=>"../"
@@ -3,7 +3,7 @@
3
3
  source "http://rubygems.org"
4
4
 
5
5
  gem "rails", "~> 3.2.0"
6
- gem "paperclip", "~> 2.5.0"
6
+ gem "paperclip", "~> 2.3.0"
7
7
  gem "paperclip_database", :path=>"../"
8
8
 
9
9
  gemspec :path=>"../"
@@ -3,7 +3,7 @@
3
3
  source "http://rubygems.org"
4
4
 
5
5
  gem "rails", "~> 3.2.0"
6
- gem "paperclip", "~> 3.1.0"
6
+ gem "paperclip", "~> 2.3"
7
7
  gem "paperclip_database", :path=>"../"
8
8
 
9
9
  gemspec :path=>"../"
@@ -3,7 +3,7 @@
3
3
  source "http://rubygems.org"
4
4
 
5
5
  gem "rails", "~> 3.2.0"
6
- gem "paperclip", "~> 2.6.0"
6
+ gem "paperclip", "~> 3.0"
7
7
  gem "paperclip_database", :path=>"../"
8
8
 
9
9
  gemspec :path=>"../"
@@ -2,8 +2,8 @@
2
2
 
3
3
  source "http://rubygems.org"
4
4
 
5
- gem "rails", "~> 2.3.0"
6
- gem "paperclip", "~> 2.7.0"
5
+ gem "rails", "~> 4.0.0"
6
+ gem "paperclip", "~> 3.4.0"
7
7
  gem "paperclip_database", :path=>"../"
8
8
 
9
9
  gemspec :path=>"../"
@@ -2,8 +2,8 @@
2
2
 
3
3
  source "http://rubygems.org"
4
4
 
5
- gem "rails", "~> 2.3"
6
- gem "paperclip", "~> 2.3.1"
5
+ gem "rails", "~> 4.0.0"
6
+ gem "paperclip", "~> 3.0"
7
7
  gem "paperclip_database", :path=>"../"
8
8
 
9
9
  gemspec :path=>"../"
@@ -1,61 +1,61 @@
1
1
  module Paperclip
2
2
  module Storage
3
3
  # Store files in a database.
4
- #
4
+ #
5
5
  # Usage is identical to the file system storage version, except:
6
- #
6
+ #
7
7
  # 1. In your model specify the "database" storage option; for example:
8
8
  # has_attached_file :avatar, :storage => :database
9
- #
9
+ #
10
10
  # The files will be stored in a new database table named with the plural attachment name
11
11
  # by default, "avatars" in this example.
12
- #
12
+ #
13
13
  # 2. You need to create this new storage table with at least these columns:
14
14
  # - file_contents
15
15
  # - style
16
16
  # - the primary key for the parent model (e.g. user_id)
17
- #
17
+ #
18
18
  # Note the "binary" migration will not work for the LONGBLOG type in MySQL for the
19
19
  # file_cotents column. You may need to craft a SQL statement for your migration,
20
20
  # depending on which database server you are using. Here's an example migration for MySQL:
21
- #
21
+ #
22
22
  # create_table :avatars do |t|
23
23
  # t.string :style
24
24
  # t.integer :user_id
25
25
  # t.timestamps
26
26
  # end
27
27
  # execute 'ALTER TABLE avatars ADD COLUMN file_contents LONGBLOB'
28
- #
28
+ #
29
29
  # You can optionally specify any storage table name you want and whether or not deletion is done by cascading or not as follows:
30
30
  # has_attached_file :avatar, :storage => :database, :database_table => 'avatar_files', :cascade_deletion => true
31
- #
31
+ #
32
32
  # 3. By default, URLs will be set to this pattern:
33
33
  # /:relative_root/:class/:attachment/:id?style=:style
34
- #
34
+ #
35
35
  # Example:
36
36
  # /app-root-url/users/avatars/23?style=original
37
- #
37
+ #
38
38
  # The idea here is that to retrieve a file from the database storage, you will need some
39
39
  # controller's code to be executed.
40
- #
40
+ #
41
41
  # Once you pick a controller to use for downloading, you can add this line
42
42
  # to generate the download action for the default URL/action (the plural attachment name),
43
43
  # "avatars" in this example:
44
44
  # downloads_files_for :user, :avatar
45
- #
45
+ #
46
46
  # Or you can write a download method manually if there are security, logging or other
47
47
  # requirements.
48
- #
48
+ #
49
49
  # If you prefer a different URL for downloading files you can specify that in the model; e.g.:
50
50
  # has_attached_file :avatar, :storage => :database, :url => '/users/show_avatar/:id/:style'
51
- #
51
+ #
52
52
  # 4. Add a route for the download to the controller which will handle downloads, if necessary.
53
- #
53
+ #
54
54
  # The default URL, /:relative_root/:class/:attachment/:id?style=:style, will be matched by
55
55
  # the default route: :controller/:action/:id
56
- #
56
+ #
57
57
  module Database
58
-
58
+
59
59
  def self.extended(base)
60
60
  base.instance_eval do
61
61
  setup_paperclip_files_model
@@ -75,10 +75,10 @@ module Paperclip
75
75
  ActionController::Base.relative_url_root
76
76
  end
77
77
  end
78
-
78
+
79
79
  ActiveRecord::Base.logger.info("[paperclip] Database Storage Initalized.")
80
80
  end
81
-
81
+
82
82
  def setup_paperclip_files_model
83
83
  #TODO: This fails when your model is in a namespace.
84
84
  @paperclip_files = "#{instance.class.name.underscore}_#{name.to_s}_paperclip_files"
@@ -98,11 +98,11 @@ module Paperclip
98
98
  @database_table = @paperclip_file.table_name
99
99
  #FIXME: This fails when using set_table_name "<myname>" in your model
100
100
  #FIXME: This should be fixed in ActiveRecord...
101
- instance.class.has_many @paperclip_files, :foreign_key => instance.class.table_name.classify.underscore + '_id'
101
+ instance.class.has_many @paperclip_files.to_sym, :foreign_key => instance.class.table_name.classify.underscore + '_id'
102
102
 
103
103
  end
104
104
  private :setup_paperclip_files_model
105
-
105
+
106
106
  def copy_to_local_file(style, dest_path)
107
107
  File.open(dest_path, 'wb+'){|df| to_file(style).tap{|sf| File.copy_stream(sf, df); sf.close;sf.unlink} }
108
108
  end
@@ -114,11 +114,11 @@ module Paperclip
114
114
  @options[:path] = ":database_path"
115
115
  end
116
116
  private :override_default_options
117
-
117
+
118
118
  def database_table
119
119
  @database_table
120
120
  end
121
-
121
+
122
122
  def database_path(style)
123
123
  paperclip_file = file_for(style)
124
124
  if paperclip_file
@@ -127,7 +127,7 @@ module Paperclip
127
127
  "#{database_table}(id=new,style=#{style.to_s})"
128
128
  end
129
129
  end
130
-
130
+
131
131
  def exists?(style = default_style)
132
132
  if original_filename
133
133
  !file_for(style).nil?
@@ -135,7 +135,7 @@ module Paperclip
135
135
  false
136
136
  end
137
137
  end
138
-
138
+
139
139
  # Returns representation of the data of the file assigned to the given
140
140
  # style, in the format most representative of the current storage.
141
141
  def to_file style = default_style
@@ -151,31 +151,38 @@ module Paperclip
151
151
  else
152
152
  nil
153
153
  end
154
-
154
+
155
155
  end
156
156
  alias_method :to_io, :to_file
157
-
157
+
158
158
  def file_for(style)
159
159
  db_result = instance.send("#{@paperclip_files}").send(:file_for, style.to_s).to_ary
160
160
  raise RuntimeError, "More than one result for #{style}" if db_result.size > 1
161
161
  db_result.first
162
162
  end
163
-
163
+
164
164
  def file_contents(style)
165
165
  file_for(style).file_contents
166
166
  end
167
-
167
+
168
168
  def flush_writes
169
169
  ActiveRecord::Base.logger.info("[paperclip] Writing files for #{name}")
170
170
  @queued_for_write.each do |style, file|
171
- paperclip_file = instance.send(@paperclip_files).send(:find_or_create_by_style, style.to_s)
171
+ case Rails::VERSION::STRING
172
+ when /^2/, /^3/
173
+ paperclip_file = instance.send(@paperclip_files).send(:find_or_create_by_style, style.to_s)
174
+ when /^4/
175
+ paperclip_file = instance.send(@paperclip_files).send(:find_or_create_by, style: style.to_s)
176
+ else # 4.x
177
+ raise "Rails version #{Rails::VERSION::STRING} is not supported (yet)"
178
+ end
172
179
  paperclip_file.file_contents = file.read
173
180
  paperclip_file.save!
174
181
  instance.reload
175
- end
182
+ end
176
183
  @queued_for_write = {}
177
184
  end
178
-
185
+
179
186
  def flush_deletes #:nodoc:
180
187
  ActiveRecord::Base.logger.info("[paperclip] Deleting files for #{name}")
181
188
  @queued_for_delete.uniq! ##This is apparently necessary for paperclip v 3.x
@@ -189,7 +196,7 @@ module Paperclip
189
196
  end
190
197
  @queued_for_delete = []
191
198
  end
192
-
199
+
193
200
  module ControllerClassMethods
194
201
  def self.included(base)
195
202
  base.extend(self)
@@ -1,3 +1,3 @@
1
1
  module PaperclipDatabase
2
- VERSION = "1.0.5" unless defined? PaperclipDatabase::VERSION
2
+ VERSION = "2.0.0" unless defined? PaperclipDatabase::VERSION
3
3
  end
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.email = ["jarl@softace.dk"]
10
10
  s.homepage = "https://github.com/softace/paperclip_database"
11
11
  s.summary = "Database storage for paperclip"
12
- s.description = "To have all your data i one place: the database"
12
+ s.description = "To have all your data in one place: the database"
13
13
 
14
14
  s.rubyforge_project = "paperclip_database"
15
15
 
@@ -20,19 +20,17 @@ Gem::Specification.new do |s|
20
20
 
21
21
  s.requirements << "ImageMagick"
22
22
 
23
+ s.add_dependency('rails', '>= 3.0.0')
23
24
  s.add_dependency('paperclip', '>= 2.3.0')
24
25
 
25
- # s.add_development_dependency('shoulda')
26
26
  s.add_development_dependency('appraisal', '~> 0.4')
27
27
  s.add_development_dependency('mocha')
28
28
  s.add_development_dependency('sqlite3', '~> 1.3')
29
29
  s.add_development_dependency('cucumber', '~> 1.1')
30
30
  s.add_development_dependency('launchy', '~> 2.1')
31
31
  s.add_development_dependency('aruba')
32
- s.add_development_dependency('capybara')
32
+ s.add_development_dependency('capybara', '~> 2.0.0', '< 2.1.0')
33
33
  s.add_development_dependency('bundler')
34
- # s.add_development_dependency('cocaine', '~> 0.2')
35
- # s.add_development_dependency('fog')
36
34
  s.add_development_dependency('rake')
37
35
  s.add_development_dependency('fakeweb')
38
36
  end
metadata CHANGED
@@ -1,36 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paperclip_database
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
5
- prerelease:
4
+ version: 2.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jarl Friis
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-09-20 00:00:00.000000000 Z
11
+ date: 2013-09-11 00:00:00.000000000 Z
13
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: 3.0.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: 3.0.0
14
27
  - !ruby/object:Gem::Dependency
15
28
  name: paperclip
16
29
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
30
  requirements:
19
- - - ! '>='
31
+ - - '>='
20
32
  - !ruby/object:Gem::Version
21
33
  version: 2.3.0
22
34
  type: :runtime
23
35
  prerelease: false
24
36
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
37
  requirements:
27
- - - ! '>='
38
+ - - '>='
28
39
  - !ruby/object:Gem::Version
29
40
  version: 2.3.0
30
41
  - !ruby/object:Gem::Dependency
31
42
  name: appraisal
32
43
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
44
  requirements:
35
45
  - - ~>
36
46
  - !ruby/object:Gem::Version
@@ -38,7 +48,6 @@ dependencies:
38
48
  type: :development
39
49
  prerelease: false
40
50
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
51
  requirements:
43
52
  - - ~>
44
53
  - !ruby/object:Gem::Version
@@ -46,23 +55,20 @@ dependencies:
46
55
  - !ruby/object:Gem::Dependency
47
56
  name: mocha
48
57
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
58
  requirements:
51
- - - ! '>='
59
+ - - '>='
52
60
  - !ruby/object:Gem::Version
53
61
  version: '0'
54
62
  type: :development
55
63
  prerelease: false
56
64
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
65
  requirements:
59
- - - ! '>='
66
+ - - '>='
60
67
  - !ruby/object:Gem::Version
61
68
  version: '0'
62
69
  - !ruby/object:Gem::Dependency
63
70
  name: sqlite3
64
71
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
72
  requirements:
67
73
  - - ~>
68
74
  - !ruby/object:Gem::Version
@@ -70,7 +76,6 @@ dependencies:
70
76
  type: :development
71
77
  prerelease: false
72
78
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
79
  requirements:
75
80
  - - ~>
76
81
  - !ruby/object:Gem::Version
@@ -78,7 +83,6 @@ dependencies:
78
83
  - !ruby/object:Gem::Dependency
79
84
  name: cucumber
80
85
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
86
  requirements:
83
87
  - - ~>
84
88
  - !ruby/object:Gem::Version
@@ -86,7 +90,6 @@ dependencies:
86
90
  type: :development
87
91
  prerelease: false
88
92
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
93
  requirements:
91
94
  - - ~>
92
95
  - !ruby/object:Gem::Version
@@ -94,7 +97,6 @@ dependencies:
94
97
  - !ruby/object:Gem::Dependency
95
98
  name: launchy
96
99
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
100
  requirements:
99
101
  - - ~>
100
102
  - !ruby/object:Gem::Version
@@ -102,7 +104,6 @@ dependencies:
102
104
  type: :development
103
105
  prerelease: false
104
106
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
107
  requirements:
107
108
  - - ~>
108
109
  - !ruby/object:Gem::Version
@@ -110,84 +111,80 @@ dependencies:
110
111
  - !ruby/object:Gem::Dependency
111
112
  name: aruba
112
113
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
114
  requirements:
115
- - - ! '>='
115
+ - - '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
121
  requirements:
123
- - - ! '>='
122
+ - - '>='
124
123
  - !ruby/object:Gem::Version
125
124
  version: '0'
126
125
  - !ruby/object:Gem::Dependency
127
126
  name: capybara
128
127
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
128
  requirements:
131
- - - ! '>='
129
+ - - ~>
132
130
  - !ruby/object:Gem::Version
133
- version: '0'
131
+ version: 2.0.0
132
+ - - <
133
+ - !ruby/object:Gem::Version
134
+ version: 2.1.0
134
135
  type: :development
135
136
  prerelease: false
136
137
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
138
  requirements:
139
- - - ! '>='
139
+ - - ~>
140
140
  - !ruby/object:Gem::Version
141
- version: '0'
141
+ version: 2.0.0
142
+ - - <
143
+ - !ruby/object:Gem::Version
144
+ version: 2.1.0
142
145
  - !ruby/object:Gem::Dependency
143
146
  name: bundler
144
147
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
148
  requirements:
147
- - - ! '>='
149
+ - - '>='
148
150
  - !ruby/object:Gem::Version
149
151
  version: '0'
150
152
  type: :development
151
153
  prerelease: false
152
154
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
155
  requirements:
155
- - - ! '>='
156
+ - - '>='
156
157
  - !ruby/object:Gem::Version
157
158
  version: '0'
158
159
  - !ruby/object:Gem::Dependency
159
160
  name: rake
160
161
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
162
  requirements:
163
- - - ! '>='
163
+ - - '>='
164
164
  - !ruby/object:Gem::Version
165
165
  version: '0'
166
166
  type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
169
  requirements:
171
- - - ! '>='
170
+ - - '>='
172
171
  - !ruby/object:Gem::Version
173
172
  version: '0'
174
173
  - !ruby/object:Gem::Dependency
175
174
  name: fakeweb
176
175
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
176
  requirements:
179
- - - ! '>='
177
+ - - '>='
180
178
  - !ruby/object:Gem::Version
181
179
  version: '0'
182
180
  type: :development
183
181
  prerelease: false
184
182
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
183
  requirements:
187
- - - ! '>='
184
+ - - '>='
188
185
  - !ruby/object:Gem::Version
189
186
  version: '0'
190
- description: ! 'To have all your data i one place: the database'
187
+ description: 'To have all your data in one place: the database'
191
188
  email:
192
189
  - jarl@softace.dk
193
190
  executables: []
@@ -197,7 +194,7 @@ files:
197
194
  - .document
198
195
  - .gitignore
199
196
  - .rspec
200
- - .rvmrc
197
+ - .ruby-version
201
198
  - .travis.yml
202
199
  - Appraisals
203
200
  - Gemfile
@@ -214,28 +211,20 @@ files:
214
211
  - features/support/paths.rb
215
212
  - features/support/rails.rb
216
213
  - features/support/selectors.rb
217
- - gemfiles/rails2_legacy.gemfile
218
- - gemfiles/rails2_paperclip25.gemfile
219
- - gemfiles/rails2_paperclip26.gemfile
220
- - gemfiles/rails2_paperclip27.gemfile
221
- - gemfiles/rails30_paperclip25.gemfile
222
- - gemfiles/rails30_paperclip26.gemfile
223
- - gemfiles/rails30_paperclip27.gemfile
214
+ - gemfiles/rails30_paperclip23.gemfile
215
+ - gemfiles/rails30_paperclip2x.gemfile
224
216
  - gemfiles/rails30_paperclip30.gemfile
225
- - gemfiles/rails30_paperclip31.gemfile
226
- - gemfiles/rails30_paperclip32.gemfile
227
- - gemfiles/rails31_paperclip25.gemfile
228
- - gemfiles/rails31_paperclip26.gemfile
229
- - gemfiles/rails31_paperclip27.gemfile
217
+ - gemfiles/rails30_paperclip3x.gemfile
218
+ - gemfiles/rails31_paperclip23.gemfile
219
+ - gemfiles/rails31_paperclip2x.gemfile
230
220
  - gemfiles/rails31_paperclip30.gemfile
231
- - gemfiles/rails31_paperclip31.gemfile
232
- - gemfiles/rails31_paperclip32.gemfile
233
- - gemfiles/rails32_paperclip25.gemfile
234
- - gemfiles/rails32_paperclip26.gemfile
235
- - gemfiles/rails32_paperclip27.gemfile
221
+ - gemfiles/rails31_paperclip3x.gemfile
222
+ - gemfiles/rails32_paperclip23.gemfile
223
+ - gemfiles/rails32_paperclip2x.gemfile
236
224
  - gemfiles/rails32_paperclip30.gemfile
237
- - gemfiles/rails32_paperclip31.gemfile
238
- - gemfiles/rails32_paperclip32.gemfile
225
+ - gemfiles/rails32_paperclip3x.gemfile
226
+ - gemfiles/rails40_paperclip34.gemfile
227
+ - gemfiles/rails40_paperclip3x.gemfile
239
228
  - generators/paperclip_database/USAGE
240
229
  - generators/paperclip_database/paperclip_database_generator.rb
241
230
  - generators/paperclip_database/templates/paperclip_database_migration.rb.erb
@@ -253,33 +242,26 @@ files:
253
242
  - test/fixtures/5k.png
254
243
  homepage: https://github.com/softace/paperclip_database
255
244
  licenses: []
245
+ metadata: {}
256
246
  post_install_message:
257
247
  rdoc_options: []
258
248
  require_paths:
259
249
  - lib
260
250
  required_ruby_version: !ruby/object:Gem::Requirement
261
- none: false
262
251
  requirements:
263
- - - ! '>='
252
+ - - '>='
264
253
  - !ruby/object:Gem::Version
265
254
  version: '0'
266
- segments:
267
- - 0
268
- hash: -4219737218162575604
269
255
  required_rubygems_version: !ruby/object:Gem::Requirement
270
- none: false
271
256
  requirements:
272
- - - ! '>='
257
+ - - '>='
273
258
  - !ruby/object:Gem::Version
274
259
  version: '0'
275
- segments:
276
- - 0
277
- hash: -4219737218162575604
278
260
  requirements:
279
261
  - ImageMagick
280
262
  rubyforge_project: paperclip_database
281
- rubygems_version: 1.8.24
263
+ rubygems_version: 2.0.3
282
264
  signing_key:
283
- specification_version: 3
265
+ specification_version: 4
284
266
  summary: Database storage for paperclip
285
267
  test_files: []
data/.rvmrc DELETED
@@ -1 +0,0 @@
1
- rvm ruby-1.9.2-p320
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rails", "~> 2.3.0"
6
- gem "paperclip", "~> 2.5.0"
7
- gem "paperclip_database", :path=>"../"
8
-
9
- gemspec :path=>"../"
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rails", "~> 2.3.0"
6
- gem "paperclip", "~> 2.6.0"
7
- gem "paperclip_database", :path=>"../"
8
-
9
- gemspec :path=>"../"
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rails", "~> 3.0.0"
6
- gem "paperclip", "~> 2.7.0"
7
- gem "paperclip_database", :path=>"../"
8
-
9
- gemspec :path=>"../"
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rails", "~> 3.0.0"
6
- gem "paperclip", "~> 3.2.0"
7
- gem "paperclip_database", :path=>"../"
8
-
9
- gemspec :path=>"../"
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rails", "~> 3.1.0"
6
- gem "paperclip", "~> 2.7.0"
7
- gem "paperclip_database", :path=>"../"
8
-
9
- gemspec :path=>"../"
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rails", "~> 3.1.0"
6
- gem "paperclip", "~> 3.2.0"
7
- gem "paperclip_database", :path=>"../"
8
-
9
- gemspec :path=>"../"
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rails", "~> 3.2.0"
6
- gem "paperclip", "~> 2.7.0"
7
- gem "paperclip_database", :path=>"../"
8
-
9
- gemspec :path=>"../"
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rails", "~> 3.2.0"
6
- gem "paperclip", "~> 3.2.0"
7
- gem "paperclip_database", :path=>"../"
8
-
9
- gemspec :path=>"../"