Skip to content
This repository was archived by the owner on Jan 26, 2025. It is now read-only.

Commit aad712a

Browse files
committed
initial commit of gem code
1 parent 96505c0 commit aad712a

File tree

15 files changed

+345
-32
lines changed

15 files changed

+345
-32
lines changed

Gemfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
source "http://rubygems.org"
2+
3+
# Specify your gem's dependencies in plupload-rails3.gemspec
4+
gemspec

README.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,34 @@ plupload-rails3
55

66
This plugin tries to make its integration with Rails 3 very simple.
77

8-
To install (from inside your project's directory):
8+
To install as a plugin (from inside your project's directory):
99

1010
rails plugin install git://github.com/codeodor/plupload-rails3.git
1111

12+
To remove the plugin:
13+
14+
rails plugin uninstall plupload-rails3
15+
16+
17+
To install as a gem:
18+
19+
1. Put `gem 'plupload-rails3'` in your application's Gemfile
20+
2. Run `bundle install` from the command line inside your application's directory
21+
3. Run `bundle exec rake plupload_rails3:install_assets` from the command line inside your application's directory
22+
23+
To remove the gem from your project, remove the line in your Gemfile. You can remove the assets that got copied to your application by running `bundle exec rake plupload_rails3:uninstall_assets` from the command line inside your application's directory.
24+
25+
For Rails 3.1, you'll also need to tell the asset pipeline about the new assets.
26+
27+
In assets/javascripts/application.js make sure your application provides URL access to the plupload scripts, CSS, and images:
28+
29+
//= provide_tree ../../../vendor/assets/javascripts/plupload-rails3
30+
//= provide_tree ../../../vendor/assets/stylesheets/plupload-rails3
31+
//= provide_tree ../../../vendor/assets/images/plupload-rails3
32+
33+
34+
35+
1236

1337
To use:
1438

init.rb

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,3 @@
1-
require 'plupload_rails3'
1+
require 'plupload-rails3'
22

3-
%w{ middleware helpers controllers }.each do |dir|
4-
path = File.join(File.dirname(__FILE__), 'app', dir)
5-
$LOAD_PATH << path
6-
ActiveSupport::Dependencies.autoload_paths << path
7-
ActiveSupport::Dependencies.autoload_once_paths.delete(path)
8-
end
93

10-
ActionController::Base.append_view_path File.expand_path(File.join(File.dirname(__FILE__), 'lib/app', 'views'))
11-
12-
ActionView::Base.send :include, PluploadHelper
13-
14-
config.middleware.insert_before 'ActionDispatch::ParamsParser', 'ActionDispatch::PluploadParamsRenamer'

install.rb

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,2 @@
1-
require 'fileutils'
2-
3-
image_path_prefix = '../../../public'
4-
js_path_prefix = '../../../public'
5-
css_path_prefix = '../../../public'
6-
7-
FileUtils.cp_r(File.join(File.dirname(__FILE__), 'lib/public/images/plupload-rails3'), File.join(File.dirname(__FILE__), "#{image_path_prefix}/images/plupload-rails3"))
8-
FileUtils.cp_r(File.join(File.dirname(__FILE__), 'lib/public/javascripts/plupload-rails3'), File.join(File.dirname(__FILE__), "#{js_path_prefix}/javascripts/plupload-rails3"))
9-
FileUtils.cp_r(File.join(File.dirname(__FILE__), 'lib/public/stylesheets/plupload-rails3'), File.join(File.dirname(__FILE__), "#{css_path_prefix}/stylesheets/plupload-rails3"))
10-
FileUtils.mkdir(File.join(File.dirname(__FILE__),'../../../tmp/plupload-rails3'))
1+
require 'lib/plupload-rails3/asset_mover'
2+
install_plupload_assets

lib/app/views/plupload/_uploader_scripts.html.erb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<% if Rails.version < "3.1" %>
12
<!-- load JQuery if not loaded -->
23
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
34
<script type="text/javascript">
@@ -14,6 +15,15 @@
1415
<!-- Thirdparty intialization scripts, needed for the Google Gears and BrowserPlus runtimes -->
1516
<script type="text/javascript" src="http://bp.yahooapis.com/2.4.21/browserplus-min.js"></script>
1617
<script type="text/javascript" src="/javascripts/plupload-rails3/plupload/js/plupload.gears.js"></script>
18+
<% else %>
19+
20+
<style type="text/css">@import url(/assets/plupload-rails3/plupload.queue.3.1.css);</style>
21+
<%= stylesheet_link_tag 'plupload-rails3/plupload/js/plupload.full.js' %>
22+
<%= javascript_include_tag 'plupload-rails3/plupload/js/plupload.full.js' %>
23+
<%= javascript_include_tag 'plupload-rails3/plupload/js/jquery.plupload.queue/jquery.plupload.queue.js' %>
24+
<%= javascript_include_tag 'plupload-rails3/plupload/js/plupload.gears.js' %>
25+
26+
<% end %>
1727

1828

1929
<script type="text/javascript">

lib/plupload-rails3.rb

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
require "plupload-rails3/version"
2+
require "plupload-rails3/railtie"
3+
4+
require 'app/helpers/plupload_helper'
5+
require 'app/middleware/plupload_params_renamer'
6+
require 'app/controllers/plupload_rails_controller'
7+
8+
%w{ middleware helpers controllers }.each do |dir|
9+
path = File.join(File.dirname(__FILE__), 'app', dir)
10+
$LOAD_PATH << path
11+
ActiveSupport::Dependencies.autoload_paths << path
12+
ActiveSupport::Dependencies.autoload_once_paths.delete(path)
13+
end
14+
15+
ActionController::Base.append_view_path File.expand_path(File.join(File.dirname(__FILE__), 'app', 'views'))
16+
17+
#ActionView::Base.send :include, PluploadHelper
18+
ActionController::Base.helper(PluploadHelper)
19+
20+
#ActionController::Dispatcher.middleware.insert_before(ActionDispatch::ParamsParser, ActionDispatch::PluploadParamsRenamer)

lib/plupload-rails3/asset_mover.rb

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
require 'fileutils'
2+
3+
def plupload_asset_destination
4+
if Rails.version < "3.1"
5+
dest = {
6+
:img => "public/images",
7+
:js => "public/javascripts",
8+
:css => "public/stylesheets"
9+
}
10+
else
11+
dest = {
12+
:img => "vendor/assets/images",
13+
:js => "vendor/assets/javascripts",
14+
:css => "vendor/assets/stylesheets"
15+
}
16+
end
17+
return dest
18+
end
19+
20+
def install_plupload_assets
21+
plupload_asset_destination.keys.each do |asset_type|
22+
directory = File.join(Rails.root, plupload_asset_destination[asset_type])
23+
puts "Making directory: #{directory}"
24+
FileUtils.mkdir_p(directory)
25+
end
26+
27+
dest = File.join(Rails.root, plupload_asset_destination[:img])
28+
puts "Copying image assets to #{dest}"
29+
FileUtils.cp_r(File.join(File.dirname(__FILE__), '../public/images/plupload-rails3'), dest)
30+
31+
dest = File.join(Rails.root, plupload_asset_destination[:js])
32+
puts "Copying javascript assets to #{dest}"
33+
FileUtils.cp_r(File.join(File.dirname(__FILE__), '../public/javascripts/plupload-rails3'), dest)
34+
35+
dest = File.join(Rails.root, plupload_asset_destination[:css])
36+
puts "Copying stylesheet assets to #{dest}"
37+
FileUtils.cp_r(File.join(File.dirname(__FILE__), '../public/stylesheets/plupload-rails3'), dest)
38+
39+
dest = File.join(Rails.root, 'tmp/plupload-rails3')
40+
puts "Creating tmp folder at #{dest}"
41+
FileUtils.mkdir(dest)
42+
end
43+
44+
def uninstall_plupload_assets
45+
plupload_asset_destination.keys.each do |asset_type|
46+
directory = File.join(Rails.root, plupload_asset_destination[asset_type], "plupload-rails3")
47+
puts "Removing directory #{directory} and its contents"
48+
FileUtils.rm_r(directory)
49+
end
50+
51+
directory = File.join(Rails.root,'tmp/plupload-rails3')
52+
puts "Removing directory #{directory} and its contents"
53+
FileUtils.rm_r(directory)
54+
end

lib/plupload-rails3/railtie.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
module PluploadRails3
2+
class Railtie < Rails::Railtie
3+
initializer "plupload-rails3.configure_middleware" do |app|
4+
app.middleware.insert_before(ActionDispatch::ParamsParser, ActionDispatch::PluploadParamsRenamer)
5+
end
6+
7+
rake_tasks do
8+
Dir[File.join(File.dirname(__FILE__),'../tasks/*.rake')].each { |f| load f }
9+
end
10+
11+
end
12+
end

lib/plupload-rails3/version.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module Plupload
2+
module Rails3
3+
VERSION = "0.0.4"
4+
end
5+
end

lib/public/.DS_Store

0 Bytes
Binary file not shown.

lib/public/stylesheets/.DS_Store

0 Bytes
Binary file not shown.
Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
/*
2+
Plupload
3+
------------------------------------------------------------------- */
4+
5+
.plupload_button {
6+
display: -moz-inline-box; /* FF < 3*/
7+
display: inline-block;
8+
font: normal 12px sans-serif;
9+
text-decoration: none;
10+
color: #42454a;
11+
border: 1px solid #bababa;
12+
padding: 2px 8px 3px 20px;
13+
margin-right: 4px;
14+
background: #f3f3f3 url('/assets/plupload-rails3/plupload/buttons.png') no-repeat 0 center;
15+
outline: 0;
16+
17+
/* Optional rounded corners for browsers that support it */
18+
-moz-border-radius: 3px;
19+
-khtml-border-radius: 3px;
20+
-webkit-border-radius: 3px;
21+
border-radius: 3px;
22+
}
23+
24+
.plupload_button:hover {
25+
color: #000;
26+
text-decoration: none;
27+
}
28+
29+
.plupload_disabled, a.plupload_disabled:hover {
30+
color: #737373;
31+
border-color: #c5c5c5;
32+
background: #ededed url('/assets/plupload-rails3/plupload/buttons-disabled.png') no-repeat 0 center;
33+
cursor: default;
34+
}
35+
36+
.plupload_add {
37+
background-position: -181px center;
38+
}
39+
40+
.plupload_wrapper {
41+
font: normal 11px Verdana,sans-serif;
42+
width: 100%;
43+
}
44+
45+
.plupload_container {
46+
padding: 8px;
47+
background: url('/assets/plupload-rails3/plupload/transp50.png');
48+
/*-moz-border-radius: 5px;*/
49+
}
50+
51+
.plupload_header {background: #2A2C2E url('/assets/plupload-rails3/plupload/backgrounds.gif') repeat-x;}
52+
.plupload_header_content {
53+
background: url('/assets/plupload-rails3/plupload/backgrounds.gif') no-repeat 0 -317px;
54+
min-height: 56px;
55+
padding-left: 60px;
56+
color: #FFF;
57+
}
58+
.plupload_header_title {
59+
font: normal 18px sans-serif;
60+
padding: 6px 0 3px;
61+
}
62+
.plupload_header_text {
63+
font: normal 12px sans-serif;
64+
}
65+
66+
.plupload_filelist {
67+
margin: 0;
68+
padding: 0;
69+
list-style: none;
70+
}
71+
72+
.plupload_scroll .plupload_filelist {
73+
height: 185px;
74+
background: #F5F5F5;
75+
overflow-y: scroll;
76+
}
77+
78+
.plupload_filelist li {
79+
padding: 10px 8px;
80+
background: #F5F5F5 url('/assets/plupload-rails3/plupload/backgrounds.gif') repeat-x 0 -156px;
81+
border-bottom: 1px solid #DDD;
82+
}
83+
84+
.plupload_filelist_header, .plupload_filelist_footer {
85+
background: #DFDFDF;
86+
padding: 8px 8px;
87+
color: #42454A;
88+
}
89+
.plupload_filelist_header {
90+
border-top: 1px solid #EEE;
91+
border-bottom: 1px solid #CDCDCD;
92+
}
93+
94+
.plupload_filelist_footer {border-top: 1px solid #FFF; height: 22px; line-height: 20px; vertical-align: middle;}
95+
.plupload_file_name {float: left; overflow: hidden}
96+
.plupload_file_status {color: #777;}
97+
.plupload_file_status span {color: #42454A;}
98+
.plupload_file_size, .plupload_file_status, .plupload_progress {
99+
float: right;
100+
width: 80px;
101+
}
102+
.plupload_file_size, .plupload_file_status, .plupload_file_action {text-align: right;}
103+
104+
.plupload_filelist .plupload_file_name {width: 205px}
105+
106+
.plupload_file_action {
107+
float: right;
108+
width: 16px;
109+
height: 16px;
110+
margin-left: 15px;
111+
}
112+
113+
.plupload_file_action * {
114+
display: none;
115+
width: 16px;
116+
height: 16px;
117+
}
118+
119+
li.plupload_uploading {background: #ECF3DC url('/assets/plupload-rails3/plupload/backgrounds.gif') repeat-x 0 -238px;}
120+
li.plupload_done {color:#AAA}
121+
122+
li.plupload_delete a {
123+
background: url('/assets/plupload-rails3/plupload/delete.gif');
124+
}
125+
126+
li.plupload_failed a {
127+
background: url('/assets/plupload-rails3/plupload/error.gif');
128+
cursor: default;
129+
}
130+
131+
li.plupload_done a {
132+
background: url('/assets/plupload-rails3/plupload/done.gif');
133+
cursor: default;
134+
}
135+
136+
.plupload_progress, .plupload_upload_status {
137+
display: none;
138+
}
139+
140+
.plupload_progress_container {
141+
margin-top: 3px;
142+
border: 1px solid #CCC;
143+
background: #FFF;
144+
padding: 1px;
145+
}
146+
.plupload_progress_bar {
147+
width: 0px;
148+
height: 7px;
149+
background: #CDEB8B;
150+
}
151+
152+
.plupload_scroll .plupload_filelist_header .plupload_file_action, .plupload_scroll .plupload_filelist_footer .plupload_file_action {
153+
margin-right: 17px;
154+
}
155+
156+
/* Floats */
157+
158+
.plupload_clear,.plupload_clearer {clear: both;}
159+
.plupload_clearer, .plupload_progress_bar {
160+
display: block;
161+
font-size: 0;
162+
line-height: 0;
163+
}
164+
165+
li.plupload_droptext {
166+
background: transparent;
167+
text-align: center;
168+
vertical-align: middle;
169+
border: 0;
170+
line-height: 165px;
171+
}

lib/tasks/asset_mover.rake

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
namespace :plupload_rails3 do
2+
desc "Installs the plupload assets to your application"
3+
task :install_assets do
4+
require File.join(File.dirname(__FILE__), '../plupload-rails3/asset_mover')
5+
install_plupload_assets
6+
end
7+
end
8+
9+
namespace :plupload_rails3 do
10+
desc "Removes the installed plupload assets from your application"
11+
task :uninstall_assets do
12+
require File.join(File.dirname(__FILE__), '../plupload-rails3/asset_mover')
13+
uninstall_plupload_assets
14+
end
15+
end

0 commit comments

Comments
 (0)