carrierwave_direct_jquery 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,10 @@
1
+ .bundle
2
+ vendor/bin
3
+ vendor/bundle
4
+
5
+ pkg/*
6
+
7
+ *.swp
8
+ *.swo
9
+ .DS_Store
10
+ tags
data/.rvmrc ADDED
@@ -0,0 +1,9 @@
1
+ rvm_install_on_use_flag=1
2
+ rvm_gemset_create_on_use_flag=1
3
+ rvm use 1.9.3-p194@carrierwave_direct_jquery
4
+
5
+ if [[ ! -d vendor/bundle ]]; then
6
+ echo 'NOTICE: vendor/bundle directory does not exist, run `bin/setup` for first-time setup'
7
+ fi
8
+
9
+ export PATH=./vendor/bin:$PATH
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in carrierwave_direct.gemspec
4
+ gemspec
@@ -0,0 +1,162 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ carrierwave_direct_jquery (0.0.1)
5
+ carrierwave
6
+ carrierwave_direct
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ actionmailer (3.2.6)
12
+ actionpack (= 3.2.6)
13
+ mail (~> 2.4.4)
14
+ actionpack (3.2.6)
15
+ activemodel (= 3.2.6)
16
+ activesupport (= 3.2.6)
17
+ builder (~> 3.0.0)
18
+ erubis (~> 2.7.0)
19
+ journey (~> 1.0.1)
20
+ rack (~> 1.4.0)
21
+ rack-cache (~> 1.2)
22
+ rack-test (~> 0.6.1)
23
+ sprockets (~> 2.1.3)
24
+ activemodel (3.2.6)
25
+ activesupport (= 3.2.6)
26
+ builder (~> 3.0.0)
27
+ activerecord (3.2.6)
28
+ activemodel (= 3.2.6)
29
+ activesupport (= 3.2.6)
30
+ arel (~> 3.0.2)
31
+ tzinfo (~> 0.3.29)
32
+ activeresource (3.2.6)
33
+ activemodel (= 3.2.6)
34
+ activesupport (= 3.2.6)
35
+ activesupport (3.2.6)
36
+ i18n (~> 0.6)
37
+ multi_json (~> 1.0)
38
+ addressable (2.2.8)
39
+ arel (3.0.2)
40
+ bson (1.6.4)
41
+ bson_ext (1.6.4)
42
+ bson (~> 1.6.4)
43
+ builder (3.0.0)
44
+ capybara (1.1.2)
45
+ mime-types (>= 1.16)
46
+ nokogiri (>= 1.3.3)
47
+ rack (>= 1.0.0)
48
+ rack-test (>= 0.5.4)
49
+ selenium-webdriver (~> 2.0)
50
+ xpath (~> 0.1.4)
51
+ carrierwave (0.6.2)
52
+ activemodel (>= 3.2.0)
53
+ activesupport (>= 3.2.0)
54
+ carrierwave_direct (0.0.5)
55
+ carrierwave
56
+ fog
57
+ uuid
58
+ childprocess (0.3.2)
59
+ ffi (~> 1.0.6)
60
+ diff-lcs (1.1.3)
61
+ erubis (2.7.0)
62
+ excon (0.14.1)
63
+ ffi (1.0.11)
64
+ fog (1.4.0)
65
+ builder
66
+ excon (~> 0.14.0)
67
+ formatador (~> 0.2.0)
68
+ mime-types
69
+ multi_json (~> 1.0)
70
+ net-scp (~> 1.0.4)
71
+ net-ssh (>= 2.1.3)
72
+ nokogiri (~> 1.5.0)
73
+ ruby-hmac
74
+ formatador (0.2.3)
75
+ hike (1.2.1)
76
+ i18n (0.6.0)
77
+ journey (1.0.4)
78
+ json (1.7.3)
79
+ libwebsocket (0.1.3)
80
+ addressable
81
+ macaddr (1.6.1)
82
+ systemu (~> 2.5.0)
83
+ mail (2.4.4)
84
+ i18n (>= 0.4.0)
85
+ mime-types (~> 1.16)
86
+ treetop (~> 1.4.8)
87
+ mime-types (1.19)
88
+ multi_json (1.3.6)
89
+ net-scp (1.0.4)
90
+ net-ssh (>= 1.99.1)
91
+ net-ssh (2.5.2)
92
+ nokogiri (1.5.5)
93
+ polyglot (0.3.3)
94
+ rack (1.4.1)
95
+ rack-cache (1.2)
96
+ rack (>= 0.4)
97
+ rack-ssl (1.3.2)
98
+ rack
99
+ rack-test (0.6.1)
100
+ rack (>= 1.0)
101
+ rails (3.2.6)
102
+ actionmailer (= 3.2.6)
103
+ actionpack (= 3.2.6)
104
+ activerecord (= 3.2.6)
105
+ activeresource (= 3.2.6)
106
+ activesupport (= 3.2.6)
107
+ bundler (~> 1.0)
108
+ railties (= 3.2.6)
109
+ railties (3.2.6)
110
+ actionpack (= 3.2.6)
111
+ activesupport (= 3.2.6)
112
+ rack-ssl (~> 1.3.2)
113
+ rake (>= 0.8.7)
114
+ rdoc (~> 3.4)
115
+ thor (>= 0.14.6, < 2.0)
116
+ rake (0.9.2.2)
117
+ rdoc (3.12)
118
+ json (~> 1.4)
119
+ rspec (2.10.0)
120
+ rspec-core (~> 2.10.0)
121
+ rspec-expectations (~> 2.10.0)
122
+ rspec-mocks (~> 2.10.0)
123
+ rspec-core (2.10.1)
124
+ rspec-expectations (2.10.0)
125
+ diff-lcs (~> 1.1.3)
126
+ rspec-mocks (2.10.1)
127
+ ruby-hmac (0.4.0)
128
+ rubyzip (0.9.9)
129
+ selenium-webdriver (2.24.0)
130
+ childprocess (>= 0.2.5)
131
+ libwebsocket (~> 0.1.3)
132
+ multi_json (~> 1.0)
133
+ rubyzip
134
+ sprockets (2.1.3)
135
+ hike (~> 1.2)
136
+ rack (~> 1.0)
137
+ tilt (~> 1.1, != 1.3.0)
138
+ sqlite3 (1.3.6)
139
+ systemu (2.5.1)
140
+ thor (0.15.3)
141
+ tilt (1.3.3)
142
+ timecop (0.3.5)
143
+ treetop (1.4.10)
144
+ polyglot
145
+ polyglot (>= 0.3.1)
146
+ tzinfo (0.3.33)
147
+ uuid (2.3.5)
148
+ macaddr (~> 1.0)
149
+ xpath (0.1.4)
150
+ nokogiri (~> 1.3)
151
+
152
+ PLATFORMS
153
+ ruby
154
+
155
+ DEPENDENCIES
156
+ bson_ext
157
+ capybara
158
+ carrierwave_direct_jquery!
159
+ rails
160
+ rspec
161
+ sqlite3
162
+ timecop
@@ -0,0 +1,12 @@
1
+ require 'bundler/gem_tasks'
2
+
3
+ require 'rake'
4
+ require 'rspec/core/rake_task'
5
+
6
+ desc "Run all examples"
7
+ RSpec::Core::RakeTask.new(:spec) do |t|
8
+ t.rspec_opts = %w[--color]
9
+ end
10
+
11
+ task :default => [:spec]
12
+
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env bash
2
+
3
+ if [[ ! -d vendor/bundle ]]; then
4
+ bundle install --binstubs=vendor/bin --path vendor/bundle
5
+ else
6
+ bundle update
7
+ fi
@@ -0,0 +1,31 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "carrierwave_direct/jquery/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "carrierwave_direct_jquery"
7
+ s.version = CarrierwaveDirect::JQuery::VERSION
8
+ s.authors = ["Michael Harrington"]
9
+ s.email = ["kibiz0r@gmail.com"]
10
+ s.homepage = ""
11
+ s.summary = %q{Upload direct to S3 using CarrierWave and jQuery}
12
+ s.description = %q{Process your uploads in the background by uploading directly to S3}
13
+
14
+ # s.rubyforge_project = "carrierwave_direct_jquery"
15
+
16
+ s.add_dependency "carrierwave"
17
+ s.add_dependency "carrierwave_direct"
18
+
19
+ s.add_development_dependency "rspec"
20
+ s.add_development_dependency "timecop"
21
+ s.add_development_dependency "rails"
22
+ s.add_development_dependency "sqlite3"
23
+ s.add_development_dependency "capybara"
24
+ s.add_development_dependency "bson_ext"
25
+
26
+ s.files = `git ls-files`.split("\n")
27
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
28
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
29
+ s.require_paths = ["lib"]
30
+ end
31
+
@@ -0,0 +1,5 @@
1
+ # encoding: utf-8
2
+
3
+ require 'carrierwave'
4
+ require 'carrierwave_direct'
5
+ require 'carrierwave_direct/action_view_extensions/form_helper'
@@ -0,0 +1,41 @@
1
+ require 'carrierwave_direct/action_view_extensions/form_helper'
2
+ require 'carrierwave_direct/jquery/form_builder'
3
+
4
+ module CarrierWaveDirect
5
+ module JQuery
6
+ module ActionViewExtensions
7
+ module FormHelper
8
+ include CarrierWaveDirect::ActionViewExtensions::FormHelper
9
+
10
+ def direct_upload_form_for(record, *args, &block)
11
+ options = args.extract_options!
12
+
13
+ if options[:remote]
14
+ record.success_action_redirect = options[:remote]
15
+
16
+ html_options = {
17
+ :multipart => true
18
+ }.update(options[:html] || {})
19
+
20
+ form_for(
21
+ record,
22
+ *(args << options.merge(
23
+ :builder => CarrierWaveDirect::JQuery::FormBuilder,
24
+ :url => record.direct_fog_url,
25
+ :html => html_options,
26
+ :authenticity_token => false,
27
+ :include_id => false
28
+ )),
29
+ &block
30
+ )
31
+ else
32
+ super
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+
40
+ ActionView::Base.send :include, CarrierWaveDirect::JQuery::ActionViewExtensions::FormHelper
41
+
@@ -0,0 +1,19 @@
1
+ module CarrierWaveDirect
2
+ module JQuery
3
+ class FormBuilder < ActionView::Helpers::FormBuilder
4
+ def file_field(method, options = {})
5
+ options.merge! name: "file",
6
+ data: {
7
+ 'url' => object.direct_fog_url,
8
+ 'key' => object.key,
9
+ 'AWSAccessKeyId' => object.aws_access_key_id,
10
+ 'acl' => object.acl,
11
+ 'success_action_redirect' => object.success_action_redirect,
12
+ 'policy' => object.policy,
13
+ 'signature' => object.signature
14
+ }
15
+ super
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ module CarrierwaveDirect
4
+ module JQuery
5
+ VERSION = "0.0.1"
6
+ end
7
+ end
8
+
@@ -0,0 +1 @@
1
+ require 'carrierwave_direct/jquery'
@@ -0,0 +1,32 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+ require 'carrierwave_direct/jquery/action_view_extensions/form_helper'
5
+
6
+ describe CarrierWaveDirect::JQuery::ActionViewExtensions::FormHelper do
7
+ include FormBuilderHelpers
8
+
9
+ describe '#direct_upload_form_for' do
10
+ it 'normally does the same thing' do
11
+ direct_upload_form_for direct_uploader do |f|
12
+ f.should be_a(CarrierWaveDirect::FormBuilder)
13
+ end
14
+ end
15
+
16
+ context 'remote: true' do
17
+ it 'should give a JQuery form builder' do
18
+ direct_upload_form_for direct_uploader, remote: true do |f|
19
+ f.should be_a(CarrierWaveDirect::JQuery::FormBuilder)
20
+ end
21
+ end
22
+
23
+ it 'tacks on some data attributes' do
24
+ result = direct_upload_form_for direct_uploader, remote: true do |f|
25
+ f.file_field :video
26
+ end
27
+ p result
28
+ end
29
+ end
30
+ end
31
+ end
32
+
@@ -0,0 +1,13 @@
1
+ # encoding: utf-8
2
+
3
+ require 'carrierwave_direct'
4
+ require 'json'
5
+ require 'timecop'
6
+
7
+ require File.dirname(__FILE__) << '/support/view_helpers' # Catch dependency order
8
+
9
+ Dir[ File.dirname(__FILE__) << "/support/**/*.rb"].each {|file| require file }
10
+
11
+ RSpec.configure do |config|
12
+ config.backtrace_clean_patterns = []
13
+ end
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+
3
+ CarrierWave.configure do |config|
4
+ config.fog_credentials = {
5
+ :provider => 'AWS',
6
+ :aws_access_key_id => 'AWS_ACCESS_KEY_ID',
7
+ :aws_secret_access_key => 'AWS_SECRET_ACCESS_KEY'
8
+ }
9
+ config.fog_directory = 'AWS_FOG_DIRECTORY' # bucket name
10
+ end
11
+
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) << "/carrier_wave_config"
4
+
5
+ class DirectUploader < CarrierWave::Uploader::Base
6
+ include CarrierWaveDirect::Uploader
7
+ end
8
+
@@ -0,0 +1,38 @@
1
+ # encoding: utf-8
2
+
3
+ require 'action_view'
4
+ require 'action_view/template'
5
+
6
+ require File.join(File.dirname(__FILE__), 'view_helpers')
7
+
8
+ require 'carrierwave_direct/form_builder'
9
+ require 'carrierwave_direct/jquery/form_builder'
10
+ require 'carrierwave_direct/jquery/action_view_extensions/form_helper'
11
+
12
+ module FormBuilderHelpers
13
+ include ActionView::Helpers::FormHelper
14
+ include CarrierWaveDirect::JQuery::ActionViewExtensions::FormHelper
15
+ include ActionView::Context
16
+ include ActionController::RecordIdentifier
17
+
18
+ include ::ViewHelpers
19
+
20
+ def direct_uploader
21
+ defined?(super) ? super : @direct_uploader ||= MountedClass.new.video
22
+ end
23
+
24
+ def self.included(base)
25
+ DirectUploader.send(:include, ActiveModel::Conversion)
26
+ DirectUploader.extend ActiveModel::Naming
27
+ end
28
+
29
+ def protect_against_forgery?
30
+ false
31
+ end
32
+
33
+ def form(options = {}, &block)
34
+ blk = block_given? ? block : Proc.new {|f|}
35
+ direct_upload_form_for(direct_uploader, options, &blk)
36
+ end
37
+ end
38
+
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ GUID_REGEXP = "[a-f\\d\\-]+"
4
+
5
+ def sample(data)
6
+ SAMPLE_DATA[data]
7
+ end
8
+
@@ -0,0 +1,82 @@
1
+ # encoding: utf-8
2
+
3
+ module ModelHelpers
4
+ def self.included(base)
5
+ base.extend ClassMethods
6
+ end
7
+
8
+ module ClassMethods
9
+ def it_should_be_accessible(name, sample_data, options = {})
10
+ describe "when initialized with .new(:#{name} => '#{sample_data}')" do
11
+
12
+ let(:accessor_value) do
13
+ subject.class.send(:new, { name => sample_data }).send(name)
14
+ end
15
+
16
+ if options[:accessible]
17
+ if options[:accessible] == true
18
+ it "should == '#{sample_data}'" do
19
+ accessor_value.should == sample_data
20
+ end
21
+ else
22
+ it "##{options[:accessible].keys.first} should be #{options[:accessible].values.first}" do
23
+ subject.send(options[:accessible].keys.first).should == options[:accessible].values.first
24
+ end
25
+ end
26
+ else
27
+ it "should be nil" do
28
+ accessor_value.should be_nil
29
+ end
30
+ end
31
+ end
32
+ end
33
+
34
+ def it_should_delegate(name, options = {})
35
+ sample_data = "sample_#{name.to_s}"
36
+ delegation_object, delegation_method = options[:to].split("#")
37
+
38
+ describe "##{name} = '#{sample_data}'" do
39
+ it "should set the #{delegation_object}'s #{delegation_method}" do
40
+ subject.send("#{name}=", sample_data)
41
+ subject.send(delegation_object).send(delegation_method).should == sample_data
42
+ end
43
+ end
44
+
45
+ describe "##{name}" do
46
+ it "should return the #{delegation_method} from the #{delegation_object}" do
47
+ subject.send(delegation_object).send("#{delegation_method}=", sample_data)
48
+ subject.send(name).should == sample_data
49
+ end
50
+
51
+ it_should_be_accessible(name, sample_data, options)
52
+ end
53
+ end
54
+
55
+ def it_should_have_accessor(name, options = {})
56
+ if name.is_a?(Hash)
57
+ key = name.keys.first
58
+ sample_data = name[key]
59
+ name = key
60
+ else
61
+ sample_data = "sample_#{name.to_s}"
62
+ end
63
+
64
+ it "should respond to ##{name}=" do
65
+ subject.should respond_to("#{name}=")
66
+ end
67
+
68
+ describe "##{name}" do
69
+ context "where the #{name} is set to '#{sample_data}'" do
70
+ before { subject.send("#{name}=", sample_data) }
71
+
72
+ it "should == '#{sample_data}'" do
73
+ subject.send(name).should == sample_data
74
+ end
75
+ end
76
+
77
+ it_should_be_accessible(name, sample_data, options) if options[:accessible].present?
78
+ end
79
+ end
80
+ end
81
+ end
82
+
@@ -0,0 +1,10 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) << "/direct_uploader"
4
+
5
+ class MountedClass
6
+ extend CarrierWave::Mount
7
+ extend CarrierWaveDirect::Mount
8
+ mount_uploader :video, DirectUploader
9
+ end
10
+
@@ -0,0 +1,12 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) << "/mounted_class"
4
+
5
+ module UploaderHelpers
6
+ include CarrierWaveDirect::Test::Helpers
7
+
8
+ def sample_key(options = {})
9
+ super(MountedClass.new.video, options)
10
+ end
11
+ end
12
+
@@ -0,0 +1,47 @@
1
+ # encoding: utf-8
2
+
3
+ require 'capybara/rspec'
4
+
5
+ module ViewHelpers
6
+ include Capybara::RSpecMatchers
7
+
8
+ def parent_selector
9
+ defined?(super) ? super : @parent_selector ||= []
10
+ end
11
+
12
+ def have_parent_selector(options = {})
13
+ have_selector(:xpath, parent_selector_xpath, options)
14
+ end
15
+
16
+ def parent_selector_xpath
17
+ xpath = parent_selector.join("/")
18
+ xpath = ".//#{xpath}" unless xpath[0..2] == ".//"
19
+ xpath
20
+ end
21
+
22
+ def submit_to(options = {})
23
+ xpath_attributes = to_xpath_attributes(options)
24
+ parent_selector << "form[#{xpath_attributes}]"
25
+ have_parent_selector
26
+ end
27
+
28
+ def to_xpath_attributes(options = {})
29
+ attributes = []
30
+
31
+ options.each do |key, value|
32
+ attributes << ((value == false) ? "not(@#{key})" : "@#{key}='#{value}'")
33
+ end
34
+
35
+ attributes.join(" and ")
36
+ end
37
+
38
+ def have_input(resource_name, input, options = {})
39
+ options[:type] ||= input
40
+ options[:id] ||= "#{resource_name}_#{input}"
41
+ options[:name] ||= "#{resource_name}[#{input}]"
42
+ options[:required] ||= "required" unless options[:required] == false
43
+ parent_selector << "input[#{to_xpath_attributes(options)}]"
44
+ have_parent_selector
45
+ end
46
+ end
47
+
metadata ADDED
@@ -0,0 +1,172 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: carrierwave_direct_jquery
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Michael Harrington
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-06-29 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: carrierwave
16
+ requirement: &70351635927280 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70351635927280
25
+ - !ruby/object:Gem::Dependency
26
+ name: carrierwave_direct
27
+ requirement: &70351635926160 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70351635926160
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ requirement: &70351635924540 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *70351635924540
47
+ - !ruby/object:Gem::Dependency
48
+ name: timecop
49
+ requirement: &70351635922160 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70351635922160
58
+ - !ruby/object:Gem::Dependency
59
+ name: rails
60
+ requirement: &70351635939740 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70351635939740
69
+ - !ruby/object:Gem::Dependency
70
+ name: sqlite3
71
+ requirement: &70351635937300 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70351635937300
80
+ - !ruby/object:Gem::Dependency
81
+ name: capybara
82
+ requirement: &70351635934120 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *70351635934120
91
+ - !ruby/object:Gem::Dependency
92
+ name: bson_ext
93
+ requirement: &70351635953180 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *70351635953180
102
+ description: Process your uploads in the background by uploading directly to S3
103
+ email:
104
+ - kibiz0r@gmail.com
105
+ executables:
106
+ - setup
107
+ extensions: []
108
+ extra_rdoc_files: []
109
+ files:
110
+ - .gitignore
111
+ - .rvmrc
112
+ - Gemfile
113
+ - Gemfile.lock
114
+ - Rakefile
115
+ - bin/setup
116
+ - carrierwave_direct_jquery.gemspec
117
+ - lib/carrierwave_direct/jquery.rb
118
+ - lib/carrierwave_direct/jquery/action_view_extensions/form_helper.rb
119
+ - lib/carrierwave_direct/jquery/form_builder.rb
120
+ - lib/carrierwave_direct/jquery/version.rb
121
+ - lib/carrierwave_direct_jquery.rb
122
+ - spec/action_view_extensions/form_helper_spec.rb
123
+ - spec/spec_helper.rb
124
+ - spec/support/carrier_wave_config.rb
125
+ - spec/support/direct_uploader.rb
126
+ - spec/support/form_builder_helpers.rb
127
+ - spec/support/global_helpers.rb
128
+ - spec/support/model_helpers.rb
129
+ - spec/support/mounted_class.rb
130
+ - spec/support/uploader_helpers.rb
131
+ - spec/support/view_helpers.rb
132
+ homepage: ''
133
+ licenses: []
134
+ post_install_message:
135
+ rdoc_options: []
136
+ require_paths:
137
+ - lib
138
+ required_ruby_version: !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ segments:
145
+ - 0
146
+ hash: 1867115287297969088
147
+ required_rubygems_version: !ruby/object:Gem::Requirement
148
+ none: false
149
+ requirements:
150
+ - - ! '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ segments:
154
+ - 0
155
+ hash: 1867115287297969088
156
+ requirements: []
157
+ rubyforge_project:
158
+ rubygems_version: 1.8.15
159
+ signing_key:
160
+ specification_version: 3
161
+ summary: Upload direct to S3 using CarrierWave and jQuery
162
+ test_files:
163
+ - spec/action_view_extensions/form_helper_spec.rb
164
+ - spec/spec_helper.rb
165
+ - spec/support/carrier_wave_config.rb
166
+ - spec/support/direct_uploader.rb
167
+ - spec/support/form_builder_helpers.rb
168
+ - spec/support/global_helpers.rb
169
+ - spec/support/model_helpers.rb
170
+ - spec/support/mounted_class.rb
171
+ - spec/support/uploader_helpers.rb
172
+ - spec/support/view_helpers.rb