s3_cors_fileupload 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,8 @@
1
+ ## 0.1.2
2
+
3
+ - Modified the FormHelper so that view helper method is named `s3_cors_fileupload_form_tag` (instead of `s3_cors_fileupload_form`) to maintain consistency with the rest of ActionView's view helpers.
4
+ - Improving usage documentation on the README to provide a more detailed explanation of what the gem provides.
5
+
6
+ ## 0.1.1
7
+
8
+ - Fixed generator so that the [SourceFile model](https://github.com/fullbridge-batkins/s3_cors_fileupload/blob/master/lib/generators/s3_cors_fileupload/install/templates/source_file.rb) requires the aws-s3 gem properly.
data/Gemfile CHANGED
@@ -5,7 +5,7 @@ source :rubygems
5
5
  group :development do
6
6
  gem 'bundler'
7
7
  gem 'rdoc', '~> 3.12'
8
- gem 'jeweler', '~> 1.8.4'
8
+ gem 'gem-release', '~> 0.4'
9
9
  end
10
10
 
11
11
  group :test do
@@ -5,16 +5,10 @@ GEM
5
5
  i18n (~> 0.6)
6
6
  multi_json (~> 1.0)
7
7
  diff-lcs (1.1.3)
8
- git (1.2.5)
8
+ gem-release (0.4.1)
9
9
  i18n (0.6.1)
10
- jeweler (1.8.4)
11
- bundler (~> 1.0)
12
- git (>= 1.2.5)
13
- rake
14
- rdoc
15
10
  json (1.7.5)
16
11
  multi_json (1.3.6)
17
- rake (0.9.2.2)
18
12
  rdoc (3.12)
19
13
  json (~> 1.4)
20
14
  rspec (2.11.0)
@@ -33,7 +27,7 @@ PLATFORMS
33
27
 
34
28
  DEPENDENCIES
35
29
  bundler
36
- jeweler (~> 1.8.4)
30
+ gem-release (~> 0.4)
37
31
  rdoc (~> 3.12)
38
32
  rspec (~> 2.11)
39
33
  shoulda-matchers
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # S3CorsFileupload
2
2
 
3
- A gem to allow for uploading of files to directly AWS-S3 via CORS via the
3
+ A gem to allow for uploading of files to directly AWS-S3 via [CORS](http://www.w3.org/TR/cors/) via the
4
4
  [jQuery-File-Upload javascript](http://blueimp.github.com/jQuery-File-Upload/) for Rails 3.1 and greater.
5
5
 
6
6
  ## Installation
@@ -20,9 +20,9 @@ Now run the migration that was just generated:
20
20
 
21
21
  bundle exec rake db:migrate
22
22
 
23
- As you may have noticed, a config file was generated at `config/amazon_s3.yml`. Edit this file and fill in
24
- the fields with your AWS S3 credentials. You can make the config load from environment variables if you wish
25
- not to commit your S3 account information to your repository, like so:
23
+ Also, as you may have noticed, a config file was generated at `config/amazon_s3.yml`. Edit this file and fill in
24
+ the fields with your AWS S3 credentials. If you don't want to commit your S3 account credentials to your
25
+ repository, you can make the config load from environment variables like so:
26
26
 
27
27
  secret_access_key: <%= ENV['S3_SECRET_ACCESS_KEY'] %>
28
28
 
@@ -62,27 +62,48 @@ line like so:
62
62
 
63
63
  <AllowedOrigin>*</AllowedOrigin>
64
64
 
65
- Just be sure to change this before you put it into production, otherwise anybody can upload to your bucket from any domain.
65
+ Just be sure to change this value to your server's domain before you put it into production, otherwise anybody
66
+ can upload to your bucket from any domain.
66
67
 
67
68
  ## Usage
68
69
 
69
70
  Run your rails server
70
71
 
71
- bundle exec rails s
72
+ bundle exec rails server
72
73
 
73
74
  Then navigate to `http://<server_root>/source_files` to get started. The files that `s3_cors_fileupload`'s install generator
74
- provide you with are just a guide to get you started. I thought this would be helpful to others since it took me a while to
75
+ provide you with are just a guide to get you started. I thought this would be helpful for others since it took me a while to
75
76
  get the [jQuery-File-Upload javascript](http://blueimp.github.com/jQuery-File-Upload/) uploading directly to S3. I encourage
76
77
  you to modify the controller, source files, and javascript as you see fit!
77
78
 
79
+ ### What the gem provides for your Rails app
80
+
81
+ S3CorsFileupload will inject the javascripts and CSS (with the exception of [Twitter Bootstrap](http://twitter.github.com/bootstrap/))
82
+ styling necessary to render the UI version of the [jQuery-File-Upload javascript](http://blueimp.github.com/jQuery-File-Upload/)
83
+ into the asset pipeline of your Rails application. For more details on how Twitter Bootstrap is leveraged, see
84
+ [the Notes section below](#notes).
85
+
86
+ The gem also provides a view helper to your Rails app, `s3_cors_fileupload_form_tag`, which will produce a form that renders
87
+ the UI version of the [jQuery-File-Upload javascript](http://blueimp.github.com/jQuery-File-Upload/) when called.
88
+ This view helper accepts the following options:
89
+
90
+ * `:access_key_id` - The AWS Access Key ID of the owner of the bucket. Defaults to the `Config.access_key_id` (read from the `config/amazon_s3.yml` config file).
91
+ * `:acl` - One of S3's Canned Access Control Lists, must be one of: 'private', 'public-read', 'public-read-write', 'authenticated-read'. Defaults to `'public-read'`.
92
+ * `:max_file_size` - The max file size (in bytes) that you wish to allow to be uploaded. Defaults to `Config.max_file_size` (read from the `config/amazon_s3.yml` config file) or, if no value is set on the `config/amazon_s3.yml` file, defaults to `524288000` (500 MB)
93
+ * `:bucket` - The name of the bucket on S3 you wish for the files to be uploaded to. Defaults to `Config.bucket` (read from the `config/amazon_s3.yml` config file).
94
+ * Any other key creates standard HTML options for the form tag.
95
+
96
+ For an example of how to use the helper, see the file located at `app/views/s3_uploads/index.html.erb` that
97
+ the install generator produces.
98
+
78
99
  ## Notes
79
100
 
80
101
  The UI version of the [jQuery-File-Upload javascript](http://blueimp.github.com/jQuery-File-Upload/)
81
- javascript uses aspects of [Twitter's Bootstrap](http://twitter.github.com/bootstrap/) for styling purposes.
82
- In index view file from this gem's generator it is included via a `stylesheet_link_tag` to use a copy of it
83
- [BootstrapCDN](http://www.bootstrapcdn.com/), but if you plan to use bootstrap in more places throughout
84
- your application, you may want look into using a gem such as
85
- `[twitter-bootstrap-rails](https://github.com/seyhunak/twitter-bootstrap-rails)`, which allows you to inject
102
+ javascript uses aspects of the [Twitter Bootstrap](http://twitter.github.com/bootstrap/) CSS for styling purposes.
103
+ In the view file created at `s3_uploads/index.html.erb` by this gem's install generator, a copy of the Bootstrap CSS hosted on
104
+ [BootstrapCDN](http://www.bootstrapcdn.com/) is included via a `stylesheet_link_tag`. If you plan to use bootstrap in more
105
+ places throughout your application, you may want look into using a gem such as
106
+ [twitter-bootstrap-rails](https://github.com/seyhunak/twitter-bootstrap-rails), which allows you to inject
86
107
  the stylesheets and javascripts from bootstrap into the asset pipeline.
87
108
 
88
109
  ## Contributing to S3CorsFileupload
data/Rakefile CHANGED
@@ -4,33 +4,12 @@ require 'rubygems'
4
4
  require 'bundler'
5
5
  Bundler::GemHelper.install_tasks
6
6
 
7
- require 'jeweler'
8
- Jeweler::Tasks.new do |gem|
9
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
10
- gem.name = "s3_cors_fileupload"
11
- gem.homepage = "http://github.com/fullbridge-batkins/s3_cors_fileupload"
12
- gem.license = "MIT"
13
- gem.summary = %q{File uploads for Rails ~> 3.1 to AWS-S3 via CORS using the jQuery-File-Upload javascript}
14
- gem.description = %q{File uploads for Rails ~> 3.1 to AWS-S3 via CORS using the jQuery-File-Upload javascript}
15
- gem.email = ["benatkins@fullbridge.com"]
16
- gem.authors = ["Ben Atkins"]
17
- # dependencies defined in Gemfile
18
- end
19
- Jeweler::RubygemsDotOrgTasks.new
20
-
21
7
  require 'rspec/core/rake_task'
22
8
  RSpec::Core::RakeTask.new('spec')
23
9
 
24
10
  # If you want to make this the default task
25
11
  task :default => :spec
26
12
 
27
- # require 'rake/testtask'
28
- # Rake::TestTask.new(:test) do |test|
29
- # test.libs << 'lib' << 'test'
30
- # test.pattern = 'test/**/test_*.rb'
31
- # test.verbose = true
32
- # end
33
- #
34
13
  # require 'rcov/rcovtask'
35
14
  # Rcov::RcovTask.new do |test|
36
15
  # test.libs << 'test'
@@ -53,6 +32,6 @@ Rake::RDocTask.new do |rdoc|
53
32
  end
54
33
 
55
34
  desc "Open an irb session preloaded with this library"
56
- task :gem_console do
35
+ task :console do
57
36
  sh "irb -I lib -r s3_cors_fileupload.rb"
58
37
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  <div style="padding: 10px;">
4
4
  <h2>Upload file</h2>
5
- <%= s3_cors_fileupload_form :id => 'fileupload' %>
5
+ <%= s3_cors_fileupload_form_tag :id => 'fileupload' %>
6
6
 
7
7
  <div class="javascript-templates">
8
8
  <%= render 'template_upload' %>
@@ -15,7 +15,7 @@ module S3CorsFileupload
15
15
  # Defaults to `Config.bucket` (read from the yaml config file).
16
16
  #
17
17
  # Any other key creates standard HTML options for the form tag.
18
- def s3_cors_fileupload_form(options = {}, &block)
18
+ def s3_cors_fileupload_form_tag(options = {}, &block)
19
19
  policy_helper = PolicyHelper.new(options)
20
20
  # initialize the hidden form fields
21
21
  hidden_form_fields = {
@@ -32,6 +32,8 @@ module S3CorsFileupload
32
32
  # return the form html
33
33
  construct_form_html(hidden_form_fields, policy_helper.options[:bucket], _html_options, &block)
34
34
  end
35
+
36
+ alias_method :s3_cors_fileupload_form, :s3_cors_fileupload_form_tag
35
37
 
36
38
  private
37
39
 
@@ -1,5 +1,5 @@
1
1
  module S3CorsFileupload
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  JQUERY_FILEUPLOAD_VERSION = '5.19'
4
4
  JQUERY_FILEUPLOAD_UI_VERSION = '6.10'
5
5
  end
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.email = ["benatkins@fullbridge.com"]
10
10
  s.homepage = "http://github.com/fullbridge-batkins/s3_cors_fileupload"
11
11
  s.summary = "File uploads for Rails ~> 3.1 to AWS-S3 via CORS using the jQuery-File-Upload script"
12
- s.description = "A Ruby gem for providing File uploads for Rails ~> 3.1 to AWS-S3 via CORS using the jQuery-File-Upload script"
12
+ s.description = "A gem for providing File uploads for Rails ~> 3.1 to AWS-S3 via CORS using the jQuery-File-Upload script"
13
13
  s.licenses = ["MIT"]
14
14
 
15
15
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
@@ -21,8 +21,6 @@ Gem::Specification.new do |s|
21
21
 
22
22
  s.add_development_dependency('rake', [">= 0.8.7"])
23
23
  s.add_development_dependency('bundler', [">= 0"])
24
- s.add_development_dependency('rdoc', ["~> 3.12"])
25
- s.add_development_dependency('jeweler', ["~> 1.8.4"])
26
24
 
27
25
  s.files = `git ls-files`.split("\n")
28
26
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: s3_cors_fileupload
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
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-10-25 00:00:00.000000000 Z
12
+ date: 2012-10-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -91,40 +91,8 @@ dependencies:
91
91
  - - ! '>='
92
92
  - !ruby/object:Gem::Version
93
93
  version: '0'
94
- - !ruby/object:Gem::Dependency
95
- name: rdoc
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ~>
100
- - !ruby/object:Gem::Version
101
- version: '3.12'
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: '3.12'
110
- - !ruby/object:Gem::Dependency
111
- name: jeweler
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ~>
116
- - !ruby/object:Gem::Version
117
- version: 1.8.4
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ~>
124
- - !ruby/object:Gem::Version
125
- version: 1.8.4
126
- description: A Ruby gem for providing File uploads for Rails ~> 3.1 to AWS-S3 via
127
- CORS using the jQuery-File-Upload script
94
+ description: A gem for providing File uploads for Rails ~> 3.1 to AWS-S3 via CORS
95
+ using the jQuery-File-Upload script
128
96
  email:
129
97
  - benatkins@fullbridge.com
130
98
  executables: []
@@ -136,6 +104,7 @@ files:
136
104
  - .document
137
105
  - .gitignore
138
106
  - .rspec
107
+ - CHANGELOG.md
139
108
  - Gemfile
140
109
  - Gemfile.lock
141
110
  - LICENSE.txt