BBenezech-papermill 0.4.1 → 0.5.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.
- data/README.rdoc +17 -17
- data/Rakefile +6 -2
- data/VERSION +1 -1
- data/installation-template.txt +129 -0
- data/papermill.gemspec +18 -5
- metadata +46 -6
data/README.rdoc
CHANGED
@@ -1,10 +1,16 @@
|
|
1
1
|
= Papermill
|
2
2
|
|
3
|
-
Asset management made easy
|
3
|
+
Asset management made easy.
|
4
4
|
|
5
|
-
==
|
5
|
+
== Install the gem!
|
6
|
+
|
7
|
+
$ gem sources -a http://gems.github.com
|
8
|
+
$ sudo gem install BBenezech-papermill
|
9
|
+
|
10
|
+
== Try the demo!
|
6
11
|
|
7
|
-
|
12
|
+
$ sudo gem install sqlite3-ruby
|
13
|
+
$ rails -m http://gist.github.com/177714.txt papermill-example
|
8
14
|
|
9
15
|
== Papermill comes in 2 flavors:
|
10
16
|
|
@@ -17,32 +23,26 @@ Asset management made easy.. Painfully easy.
|
|
17
23
|
=== Association specific declaration
|
18
24
|
|
19
25
|
papermill :my_association, {my_option_hash} # in your papermilled assetable model
|
20
|
-
assets_upload(my_association, {optional_option_hash}) # form helper call
|
26
|
+
assets_upload(:my_association, {optional_option_hash}) # form helper call
|
21
27
|
@assetable.my_association # data access in your view
|
22
28
|
|
23
29
|
In both case, you can specify a PapermillAsset subclass to use with :class_name => MyPapermillAssetSubclass in the option hash
|
30
|
+
You can have a catch-all declaration and as many specific association as you want in your model (as long as they use different keys)
|
24
31
|
|
25
32
|
See papermill_module.rb for the complete list of options.
|
26
33
|
|
27
34
|
== Installation
|
28
35
|
|
29
36
|
=== You'll need something like this in your environment.rb:
|
30
|
-
|
31
|
-
config.gem 'rsl-stringex', :lib => 'stringex'
|
37
|
+
|
38
|
+
config.gem 'rsl-stringex', :lib => 'stringex'
|
32
39
|
config.gem 'paperclip'
|
33
|
-
config.gem 'authlogic'
|
34
40
|
config.gem 'mime-types', :lib => 'mime/types'
|
35
|
-
config.gem 'ryanb-acts-as-list', :lib => 'acts_as_list'
|
36
|
-
config.gem 'BBenezech-papermill', :lib => 'papermill'
|
41
|
+
config.gem 'ryanb-acts-as-list', :lib => 'acts_as_list'
|
42
|
+
config.gem 'BBenezech-papermill', :lib => 'papermill'
|
43
|
+
|
44
|
+
=== Then you can generate a migration and copy a couple of static assets:
|
37
45
|
|
38
|
-
=== Then you can the whole thing:
|
39
|
-
|
40
|
-
$ sudo gem install ryanb-acts-as-list -s http://gems.github.com
|
41
|
-
$ sudo gem install paperclip
|
42
|
-
$ sudo rake gems:install
|
43
|
-
# will install the others gem.
|
44
|
-
# You need to install paperclip & acts_as_list first, because of a dependency mayhem.
|
45
|
-
# Next version of gem will use gem dependencies
|
46
46
|
$ ./script/generate papermill PapermillMigration
|
47
47
|
# will generate a migration named PapermillMigration and copy a couple of static assets
|
48
48
|
$ rake db:migrate
|
data/Rakefile
CHANGED
@@ -26,11 +26,15 @@ begin
|
|
26
26
|
require 'jeweler'
|
27
27
|
Jeweler::Tasks.new do |gemspec|
|
28
28
|
gemspec.name = "papermill"
|
29
|
-
gemspec.summary = "Paperclip wrapper"
|
30
|
-
gemspec.description = "Paperclip wrapper"
|
29
|
+
gemspec.summary = "Paperclip Swfupload UploadHelper wrapper"
|
30
|
+
gemspec.description = "Paperclip Swfupload UploadHelper wrapper"
|
31
31
|
gemspec.email = "benoit.benezech@gmail.com"
|
32
32
|
gemspec.homepage = "http://github.com/BBenezech/papermill"
|
33
33
|
gemspec.authors = ["Benoit Bénézech"]
|
34
|
+
gemspec.add_dependency('paperclip', '>= 2.1.2')
|
35
|
+
gemspec.add_dependency('mime-types', '>= 1.16')
|
36
|
+
gemspec.add_dependency('rsl-stringex', '>= 1.0.0')
|
37
|
+
gemspec.add_dependency('ryanb-acts-as-list', '>= 0.1.2')
|
34
38
|
end
|
35
39
|
rescue LoadError
|
36
40
|
puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.5.0
|
@@ -0,0 +1,129 @@
|
|
1
|
+
gem 'paperclip'
|
2
|
+
gem 'ryanb-acts-as-list', :lib => 'acts_as_list'
|
3
|
+
gem 'sqlite3-ruby', :lib => "sqlite3" # for the demo
|
4
|
+
gem 'mime-types', :lib => 'mime/types'
|
5
|
+
gem "rsl-stringex", :lib => "stringex"
|
6
|
+
gem 'BBenezech-papermill', :lib => 'papermill'
|
7
|
+
|
8
|
+
generate :papermill, "PapermillMigration"
|
9
|
+
generate :scaffold, "article title:string"
|
10
|
+
rake "db:migrate"
|
11
|
+
|
12
|
+
file "app/models/article.rb", <<-END
|
13
|
+
class Article < ActiveRecord::Base
|
14
|
+
validates_presence_of :title
|
15
|
+
papermill :thumbnail => {:width => 50, :height => 50} # catch-all for non-specified associations
|
16
|
+
papermill :image_gallery, :class_name => ImageAsset, :images_only => true, :thumbnail => {:width => 75, :height => 100}
|
17
|
+
# image_gallery association (set with define_method)
|
18
|
+
end
|
19
|
+
END
|
20
|
+
|
21
|
+
file "app/models/image_asset.rb", <<-END
|
22
|
+
class ImageAsset < PapermillAsset
|
23
|
+
validates_attachment_content_type :file, :content_type => ['image/jpeg', 'image/pjpeg', 'image/jpg', 'image/png', 'image/gif']
|
24
|
+
end
|
25
|
+
END
|
26
|
+
|
27
|
+
file "app/views/articles/edit.html.erb", <<-END
|
28
|
+
<h1>Editing article</h1>
|
29
|
+
<%= render :partial => "form" %>
|
30
|
+
<%= link_to 'Show', @article %> |
|
31
|
+
<%= link_to 'Back', articles_path %>
|
32
|
+
END
|
33
|
+
|
34
|
+
file "app/views/articles/new.html.erb", <<-END
|
35
|
+
<h1>New article</h1>
|
36
|
+
<%= render :partial => "form" %>
|
37
|
+
<%= link_to 'Back', articles_path %>
|
38
|
+
END
|
39
|
+
|
40
|
+
file "app/views/articles/_form.html.erb", <<-END
|
41
|
+
<% form_for(@article) do |f| %>
|
42
|
+
<%= f.error_messages %>
|
43
|
+
<p>
|
44
|
+
<%= f.label :title %><br />
|
45
|
+
<%= f.text_field :title %>
|
46
|
+
</p>
|
47
|
+
<p>
|
48
|
+
<%= f.label :image_gallery %><br />
|
49
|
+
<%= f.images_upload(:image_gallery) %>
|
50
|
+
</p>
|
51
|
+
<p>
|
52
|
+
<%= f.label :my_other_image %><br />
|
53
|
+
<%= f.image_upload(:my_other_image) %>
|
54
|
+
</p>
|
55
|
+
<p>
|
56
|
+
<%= f.label :my_assets %><br />
|
57
|
+
<%= f.assets_upload(:my_assets) %>
|
58
|
+
</p>
|
59
|
+
<p>
|
60
|
+
<%= f.label :my_other_asset %><br />
|
61
|
+
<%= f.asset_upload(:my_other_asset) %>
|
62
|
+
</p>
|
63
|
+
<p>
|
64
|
+
<%= f.submit 'Send' %>
|
65
|
+
</p>
|
66
|
+
<% end %>
|
67
|
+
END
|
68
|
+
|
69
|
+
|
70
|
+
file "app/views/articles/show.html.erb", <<-END
|
71
|
+
<p>
|
72
|
+
<b>Title:</b>
|
73
|
+
<%=h @article.title %>
|
74
|
+
</p>
|
75
|
+
<br /><br />
|
76
|
+
<b>@article.image_gallery.each :</b>
|
77
|
+
<p>
|
78
|
+
<% @article.image_gallery.each do |image| %>
|
79
|
+
<%= link_to(image_tag(image.url("100x100#")), image.url) %>
|
80
|
+
<% end %>
|
81
|
+
</p>
|
82
|
+
<br /><br />
|
83
|
+
<b>@article.papermill_assets(:key => :my_other_image).first :</b>
|
84
|
+
<p>
|
85
|
+
<% image = @article.papermill_assets(:key => :my_other_image).first %>
|
86
|
+
<%= link_to(image_tag(image.url("100x100#")), image.url) if image %>
|
87
|
+
</p>
|
88
|
+
<br /><br />
|
89
|
+
<b>@article.papermill_assets(:key => :my_assets).each :</b>
|
90
|
+
<p>
|
91
|
+
<ul>
|
92
|
+
<% @article.papermill_assets(:key => :my_assets).each do |asset| %>
|
93
|
+
<li><%= link_to asset.name, asset.url %></li>
|
94
|
+
<% end %>
|
95
|
+
</ul>
|
96
|
+
</p>
|
97
|
+
<br /><br />
|
98
|
+
<b>@article.papermill_assets(:key => :my_other_asset).first :</b>
|
99
|
+
<p>
|
100
|
+
<% asset = @article.papermill_assets(:key => :my_other_asset).first %>
|
101
|
+
<%= link_to(asset.name, asset.url) if asset %>
|
102
|
+
</p>
|
103
|
+
|
104
|
+
<%= link_to 'Edit', edit_article_path(@article) %> |
|
105
|
+
<%= link_to 'Back', articles_path %>
|
106
|
+
END
|
107
|
+
|
108
|
+
|
109
|
+
file "app/views/layouts/application.html.erb", <<-END
|
110
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
111
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
112
|
+
|
113
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
114
|
+
<head>
|
115
|
+
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
|
116
|
+
<title>Papermill Demo</title>
|
117
|
+
<%= stylesheet_link_tag 'scaffold' %>
|
118
|
+
<%= papermill_stylesheet_tag %>
|
119
|
+
</head>
|
120
|
+
<body>
|
121
|
+
<%= yield %>
|
122
|
+
</body>
|
123
|
+
<%= papermill_javascript_tag :with_jquery => true %>
|
124
|
+
</html>
|
125
|
+
END
|
126
|
+
|
127
|
+
run "rm app/views/layouts/articles.html.erb"
|
128
|
+
run "rm public/index.html"
|
129
|
+
route "map.root :controller => 'articles'"
|
data/papermill.gemspec
CHANGED
@@ -5,12 +5,12 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{papermill}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.5.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Benoit B\303\251n\303\251zech"]
|
12
|
-
s.date = %q{2009-09-
|
13
|
-
s.description = %q{Paperclip wrapper}
|
12
|
+
s.date = %q{2009-09-03}
|
13
|
+
s.description = %q{Paperclip Swfupload UploadHelper wrapper}
|
14
14
|
s.email = %q{benoit.benezech@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"README.rdoc"
|
@@ -32,6 +32,7 @@ Gem::Specification.new do |s|
|
|
32
32
|
"generators/papermill/templates/migrate/papermill_migration.rb.erb",
|
33
33
|
"init.rb",
|
34
34
|
"install.rb",
|
35
|
+
"installation-template.txt",
|
35
36
|
"lib/core_extensions.rb",
|
36
37
|
"lib/papermill.rb",
|
37
38
|
"lib/papermill/form_builder.rb",
|
@@ -59,8 +60,8 @@ Gem::Specification.new do |s|
|
|
59
60
|
s.homepage = %q{http://github.com/BBenezech/papermill}
|
60
61
|
s.rdoc_options = ["--charset=UTF-8"]
|
61
62
|
s.require_paths = ["lib"]
|
62
|
-
s.rubygems_version = %q{1.3.
|
63
|
-
s.summary = %q{Paperclip wrapper}
|
63
|
+
s.rubygems_version = %q{1.3.4}
|
64
|
+
s.summary = %q{Paperclip Swfupload UploadHelper wrapper}
|
64
65
|
s.test_files = [
|
65
66
|
"test/papermill_test.rb",
|
66
67
|
"test/test_helper.rb"
|
@@ -71,8 +72,20 @@ Gem::Specification.new do |s|
|
|
71
72
|
s.specification_version = 3
|
72
73
|
|
73
74
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
75
|
+
s.add_runtime_dependency(%q<paperclip>, [">= 2.1.2"])
|
76
|
+
s.add_runtime_dependency(%q<mime-types>, [">= 1.16"])
|
77
|
+
s.add_runtime_dependency(%q<rsl-stringex>, [">= 1.0.0"])
|
78
|
+
s.add_runtime_dependency(%q<ryanb-acts-as-list>, [">= 0.1.2"])
|
74
79
|
else
|
80
|
+
s.add_dependency(%q<paperclip>, [">= 2.1.2"])
|
81
|
+
s.add_dependency(%q<mime-types>, [">= 1.16"])
|
82
|
+
s.add_dependency(%q<rsl-stringex>, [">= 1.0.0"])
|
83
|
+
s.add_dependency(%q<ryanb-acts-as-list>, [">= 0.1.2"])
|
75
84
|
end
|
76
85
|
else
|
86
|
+
s.add_dependency(%q<paperclip>, [">= 2.1.2"])
|
87
|
+
s.add_dependency(%q<mime-types>, [">= 1.16"])
|
88
|
+
s.add_dependency(%q<rsl-stringex>, [">= 1.0.0"])
|
89
|
+
s.add_dependency(%q<ryanb-acts-as-list>, [">= 0.1.2"])
|
77
90
|
end
|
78
91
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: BBenezech-papermill
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Benoit B\xC3\xA9n\xC3\xA9zech"
|
@@ -9,11 +9,50 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-09-
|
12
|
+
date: 2009-09-03 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
16
|
-
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: paperclip
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 2.1.2
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: mime-types
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "1.16"
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: rsl-stringex
|
37
|
+
type: :runtime
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 1.0.0
|
44
|
+
version:
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: ryanb-acts-as-list
|
47
|
+
type: :runtime
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.1.2
|
54
|
+
version:
|
55
|
+
description: Paperclip Swfupload UploadHelper wrapper
|
17
56
|
email: benoit.benezech@gmail.com
|
18
57
|
executables: []
|
19
58
|
|
@@ -38,6 +77,7 @@ files:
|
|
38
77
|
- generators/papermill/templates/migrate/papermill_migration.rb.erb
|
39
78
|
- init.rb
|
40
79
|
- install.rb
|
80
|
+
- installation-template.txt
|
41
81
|
- lib/core_extensions.rb
|
42
82
|
- lib/papermill.rb
|
43
83
|
- lib/papermill/form_builder.rb
|
@@ -86,7 +126,7 @@ rubyforge_project:
|
|
86
126
|
rubygems_version: 1.2.0
|
87
127
|
signing_key:
|
88
128
|
specification_version: 3
|
89
|
-
summary: Paperclip wrapper
|
129
|
+
summary: Paperclip Swfupload UploadHelper wrapper
|
90
130
|
test_files:
|
91
131
|
- test/papermill_test.rb
|
92
132
|
- test/test_helper.rb
|