s3_cors_fileupload 0.1.1 → 0.1.2

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.
@@ -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