transloadit-rails 1.0.8 → 1.1.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/.gitignore CHANGED
@@ -1,6 +1,7 @@
1
1
  .bundle
2
2
  .rvmrc
3
3
  .yardoc
4
+ .ruby-version
4
5
 
5
6
  Gemfile.lock
6
7
 
data/.travis.yml ADDED
@@ -0,0 +1,31 @@
1
+ language: ruby
2
+ rvm:
3
+ - ree
4
+ - 1.8.7
5
+ - 1.9.2
6
+ - 1.9.3
7
+ - 2.0.0
8
+ - rbx-18mode
9
+ - rbx-19mode
10
+ - jruby-18mode
11
+ - jruby-19mode
12
+ script: "bundle exec rake test"
13
+
14
+ gemfile:
15
+ - gemfiles/3.0.gemfile
16
+ - gemfiles/3.1.gemfile
17
+ - gemfiles/3.2.gemfile
18
+ - gemfiles/4.0.gemfile
19
+
20
+ matrix:
21
+ exclude:
22
+ - rvm: jruby-18mode
23
+ gemfile: gemfiles/4.0.gemfile
24
+ - rvm: rbx-18mode
25
+ gemfile: gemfiles/4.0.gemfile
26
+ - rvm: 1.8.7
27
+ gemfile: gemfiles/4.0.gemfile
28
+ - rvm: ree
29
+ gemfile: gemfiles/4.0.gemfile
30
+ - rvm: 1.9.2
31
+ gemfile: gemfiles/4.0.gemfile
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ [![Build Status](https://travis-ci.org/transloadit/rails-sdk.png?branch=master)](https://travis-ci.org/transloadit/rails-sdk)
2
+
1
3
  # transloadit-rails
2
4
 
3
5
  Fantastic file uploading for your Rails application.
@@ -33,7 +35,8 @@ $ rails g transloadit:install
33
35
 
34
36
  Edit `config/transloadit.yml`. It has an `auth` section for your transloadit
35
37
  credentials and a `templates` section to define or refer to existing
36
- templates.
38
+ templates. It is highly recommended to [enable authentication](https://transloadit.com/docs/authentication) and signing for
39
+ the upload forms.
37
40
 
38
41
  ```yaml
39
42
  auth:
@@ -54,6 +57,47 @@ templates:
54
57
  height: 200
55
58
  ```
56
59
 
60
+ ### Configuration by Environment
61
+
62
+ The transloadit configurations can be further broken up by environment tags to
63
+ match the environments used by the application (i.e. development, test,
64
+ production).
65
+
66
+ Please note, the environment tags must match the application's environments
67
+ exactly in order to be used.
68
+
69
+ ```yaml
70
+ development:
71
+ auth:
72
+ key : '4d2e...'
73
+ ...
74
+
75
+ templates:
76
+ s3_store: '4d2e...'
77
+ ...
78
+
79
+ production:
80
+ auth:
81
+ key : '123a...'
82
+ ...
83
+
84
+ templates:
85
+ s3_store: '789b...'
86
+ ...
87
+ ```
88
+
89
+ ## Support IE6 or jQuery < 1.9
90
+
91
+ If you have to support IE6 and use a jQuery version below 1.9, you have to change
92
+ the jquery_sdk_version in the config to 'v1.0.0':
93
+
94
+ ```yaml
95
+ production:
96
+ jquery_sdk_version: 'v1.0.0'
97
+ auth:
98
+ ...
99
+ ```
100
+
57
101
  ## Usage
58
102
 
59
103
  Refer to the templates with the `transloadit` helper. This requires jQuery,
data/Rakefile CHANGED
@@ -1,8 +1,6 @@
1
1
  require 'rubygems/package_task'
2
2
  require 'rake/testtask'
3
3
 
4
- RUBIES = %w{ 1.9.2 1.8.7 1.8.6 rbx-1.2.0 }
5
-
6
4
  GEMSPEC = 'transloadit-rails.gemspec'
7
5
 
8
6
  spec = eval open(GEMSPEC).read
@@ -15,40 +13,10 @@ Rake::TestTask.new do |test|
15
13
  test.pattern = 'test/**/test_*.rb'
16
14
  end
17
15
 
18
- namespace :test do
19
- begin
20
- `rvm -v` # raise an exception if RVM isn't installed
21
-
22
- desc 'Run tests against all supported Rubies'
23
- task :multiruby do
24
- system "rvm #{RUBIES.join(',')} ruby bundle exec rake -s test"
25
-
26
- # clean up after Rubinius
27
- require 'pathname'
28
- Pathname.glob('**/*.rbc').each {|path| path.unlink }
29
- end
30
-
31
- namespace :multiruby do
32
- desc 'Prepare supported rubiesfor testing'
33
- task :setup do
34
- warn 'Preparing multiruby. This may take awhile...'
35
-
36
- # create gemsets, install bundler, bundle
37
- RUBIES.each {|ruby| system "rvm #{ruby} gemset create transloadit" }
38
- system "rvm #{RUBIES.join(',')} gem install bundler --no-ri --no-rdoc"
39
- system "rvm #{RUBIES.join(',')} ruby bundle install"
40
- end
41
- end
42
- rescue Errno::ENOENT
43
- desc 'You need `rvm` installed to test against multiple Rubies'
44
- task :multiruby
45
- end
46
- end
47
-
48
16
  begin
49
17
  require 'yard'
50
18
  require 'yard/rake/yardoc_task'
51
-
19
+
52
20
  YARD::Rake::YardocTask.new :doc do |yard|
53
21
  yard.options = %w{
54
22
  --title Transloadit Rails
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem 'railties', '~> 3.0.0'
4
+ gemspec :path => '../'
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem 'railties', '~> 3.1.0'
4
+ gemspec :path => '../'
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem 'railties', '~> 3.2.0'
4
+ gemspec :path => '../'
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem 'railties', '>= 4.0.0.beta'
4
+ gemspec :path => '../'
@@ -1,6 +1,45 @@
1
- auth:
2
- key :
3
- secret :
4
- duration: 1800 # 30 minute validity period for signed upload forms
1
+ development:
2
+ # the jquery_sdk version you want to use, read up on it here:
3
+ # https://transloadit.com/blog/2013/02/transloadit-javascript-plugin-and-jquery-1-9
4
+ # defaults to latest
5
+ # use "v1.0.0" if you need IE6 support (using jQuery < 1.9)
6
+ jquery_sdk_version: 'latest'
7
+ auth:
8
+ key : 'YOUR_KEY'
9
+ secret : 'YOUR_SECRET' # this is optional, but highly recommended, https://transloadit.com/docs/authentication
10
+ duration: 1800 # 30 minute validity period for signed upload forms
5
11
 
6
- templates:
12
+ templates:
13
+ # template identified by template_id
14
+ s3_store: 'S3_STORE_TEMPLATE_ID'
15
+
16
+ # template defined inline
17
+ image_resize:
18
+ steps:
19
+ resize:
20
+ robot : '/image/resize'
21
+ width : 320
22
+ height: 200
23
+
24
+ production:
25
+ # the jquery_sdk version you want to use, read up on it here:
26
+ # https://transloadit.com/blog/2013/02/transloadit-javascript-plugin-and-jquery-1-9
27
+ # defaults to latest
28
+ # use "v1.0.0" if you need IE6 support (using jQuery < 1.9)
29
+ jquery_sdk_version: 'latest'
30
+ auth:
31
+ key : 'YOUR_KEY'
32
+ secret : 'YOUR_SECRET' # this is optional, but highly recommended, https://transloadit.com/docs/authentication
33
+ duration: 1800 # 30 minute validity period for signed upload forms
34
+
35
+ templates:
36
+ # template identified by template_id
37
+ s3_store: 'S3_STORE_TEMPLATE_ID'
38
+
39
+ # template defined inline
40
+ image_resize:
41
+ steps:
42
+ resize:
43
+ robot : '/image/resize'
44
+ width : 320
45
+ height: 200
@@ -10,12 +10,6 @@ class Transloadit
10
10
  class Engine < ::Rails::Engine
11
11
  CONFIG_PATH = 'config/transloadit.yml'
12
12
 
13
- initializer 'transloadit-rails.action_controller' do |app|
14
- ActiveSupport.on_load :action_controller do
15
- helper TransloaditHelper
16
- end
17
- end
18
-
19
13
  initializer 'transloadit-rails.action_view' do |app|
20
14
  ActiveSupport.on_load :action_view do
21
15
  include Transloadit::Rails::ViewHelper
@@ -1,5 +1,5 @@
1
1
  class Transloadit
2
2
  module Rails
3
- VERSION = '1.0.8'
3
+ VERSION = '1.1.0'
4
4
  end
5
5
  end
@@ -16,4 +16,38 @@ module Transloadit::Rails::ViewHelper
16
16
 
17
17
  fields
18
18
  end
19
+
20
+ #
21
+ # Enables the jQuery integration for Transloadit, and ensures the form is
22
+ # marked with an encoding type of `multipart/form-data`.
23
+ #
24
+ def transloadit_jquerify(id, options = {})
25
+ version = Transloadit::Rails::Engine.configuration['jquery_sdk_version'] || 'latest'
26
+
27
+ javascript_tag %{
28
+ jQuery(function($) {
29
+ var script = '//assets.transloadit.com/js/jquery.transloadit2-#{version}.js';
30
+
31
+ $.getScript(script, function() {
32
+ $('##{id}')
33
+ .attr('enctype', 'multipart/form-data')
34
+ .transloadit(#{options_to_json(options)});
35
+ });
36
+ });
37
+ }
38
+ end
39
+
40
+ private
41
+
42
+ def options_to_json(options)
43
+ callbacks = [
44
+ :onstart, :onprogress, :onupload, :onresult, :oncancel, :onerror, :onsuccess
45
+ ]
46
+
47
+ js_options = options.map do |key, val|
48
+ "#{key.to_json}: #{callbacks.include?(key.downcase) ? val : val.to_json}"
49
+ end.join(",\n")
50
+
51
+ "{#{js_options}}"
52
+ end
19
53
  end
@@ -6,28 +6,28 @@ Gem::Specification.new do |gem|
6
6
  gem.name = 'transloadit-rails'
7
7
  gem.version = Transloadit::Rails::VERSION
8
8
  gem.platform = Gem::Platform::RUBY
9
-
9
+
10
10
  gem.authors = ['Stephen Touset', 'Robin Mehner']
11
11
  gem.email = ['stephen@touset.org', 'robin@coding-robin.de']
12
12
  gem.homepage = 'http://github.com/transloadit/rails-sdk/'
13
-
13
+
14
14
  gem.summary = 'Official Rails gem for Transloadit'
15
15
  gem.description = 'The transloadit-rails gem allows you to automate uploading files through the Transloadit REST API'
16
-
16
+
17
17
  gem.required_rubygems_version = '>= 1.3.6'
18
18
  gem.rubyforge_project = 'transloadit-rails'
19
-
19
+
20
20
  gem.files = `git ls-files`.split("\n")
21
21
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
22
22
  gem.require_paths = %w{ lib }
23
-
23
+
24
24
  gem.add_dependency 'transloadit', '>= 1.0.2'
25
- gem.add_dependency 'railties', '~> 3'
26
-
25
+ gem.add_dependency 'railties', '>= 3'
26
+
27
27
  gem.add_development_dependency 'rake'
28
28
  gem.add_development_dependency 'minitest' # needed for < 1.9.2
29
29
  gem.add_development_dependency 'simplecov'
30
-
30
+
31
31
  gem.add_development_dependency 'yard'
32
- gem.add_development_dependency 'rdiscount' # for YARD rdoc formatting
32
+ gem.add_development_dependency 'kramdown' # for YARD rdoc formatting
33
33
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: transloadit-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-11-11 00:00:00.000000000 Z
13
+ date: 2013-03-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: transloadit
@@ -33,7 +33,7 @@ dependencies:
33
33
  requirement: !ruby/object:Gem::Requirement
34
34
  none: false
35
35
  requirements:
36
- - - ~>
36
+ - - ! '>='
37
37
  - !ruby/object:Gem::Version
38
38
  version: '3'
39
39
  type: :runtime
@@ -41,7 +41,7 @@ dependencies:
41
41
  version_requirements: !ruby/object:Gem::Requirement
42
42
  none: false
43
43
  requirements:
44
- - - ~>
44
+ - - ! '>='
45
45
  - !ruby/object:Gem::Version
46
46
  version: '3'
47
47
  - !ruby/object:Gem::Dependency
@@ -109,7 +109,7 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: rdiscount
112
+ name: kramdown
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  none: false
115
115
  requirements:
@@ -134,10 +134,14 @@ extensions: []
134
134
  extra_rdoc_files: []
135
135
  files:
136
136
  - .gitignore
137
+ - .travis.yml
137
138
  - Gemfile
138
139
  - README.md
139
140
  - Rakefile
140
- - app/helpers/transloadit_helper.rb
141
+ - gemfiles/3.0.gemfile
142
+ - gemfiles/3.1.gemfile
143
+ - gemfiles/3.2.gemfile
144
+ - gemfiles/4.0.gemfile
141
145
  - lib/generators/transloadit/install_generator.rb
142
146
  - lib/templates/transloadit/transloadit.yml
143
147
  - lib/transloadit-rails.rb
@@ -1,33 +0,0 @@
1
- module TransloaditHelper
2
- #
3
- # Enables the jQuery integration for Transloadit, and ensures the form is
4
- # marked with an encoding type of `multipart/form-data`.
5
- #
6
- def transloadit_jquerify(id, options = {})
7
- javascript_tag %{
8
- jQuery(function($) {
9
- var script = '//assets.transloadit.com/js/jquery.transloadit2.js';
10
-
11
- $.getScript(script, function() {
12
- $('##{id}')
13
- .attr('enctype', 'multipart/form-data')
14
- .transloadit(#{options_to_json(options)});
15
- });
16
- });
17
- }
18
- end
19
-
20
- private
21
-
22
- def options_to_json(options)
23
- callbacks = [
24
- :onstart, :onprogress, :onupload, :onresult, :oncancel, :onerror, :onsuccess
25
- ]
26
-
27
- js_options = options.map do |key, val|
28
- "#{key.to_json}: #{callbacks.include?(key.downcase) ? val : val.to_json}"
29
- end.join(",\n")
30
-
31
- "{#{js_options}}"
32
- end
33
- end