jack_up 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 32677dc1d4a6172fccd5051dbcf567217786e7e2
4
+ data.tar.gz: 902c1086a3e02f9be386c178245d252d9395463d
5
+ SHA512:
6
+ metadata.gz: e448f3b4bace51a50c8f2357fe90b69dfcb8f782e2b23eb8c7809bf7c3e442f1e576a36bf6f9616d3cd6ef178418b670ee6da2711011c295c764b645c7db6d43
7
+ data.tar.gz: 57bc93c243af535df9fac0d52aa49aeea9cd7d4aaae902a7088efc88f53d0fa0a504a7b969713b5620379655cb82218e4e47ba13dd73dbceccadc788580a738b
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2012 Josh Steiner, Josh Clayton, thoughtbot, inc.
1
+ Copyright 2012-2013 Josh Steiner, Josh Clayton, thoughtbot, inc.
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -23,7 +23,7 @@ Modify your `application.js` manifest:
23
23
 
24
24
  ### Requirements
25
25
 
26
- Rails 3.1 (for the asset pipeline), CoffeeScript, and both jQuery and
26
+ Rails 4.0+, CoffeeScript, and both jQuery and
27
27
  Underscore.js included in your `application.js` manifest.
28
28
 
29
29
  ### Usage
@@ -99,13 +99,12 @@ uploads.
99
99
  # app/models/asset.rb
100
100
  class Asset < ActiveRecord::Base
101
101
  has_attached_file :photo
102
- attr_accessible :photo
103
102
  end
104
103
 
105
104
  # app/controllers/assets_controller.rb
106
105
  class AssetsController < ApplicationController
107
106
  def create
108
- @asset = Asset.new(photo: params[:file])
107
+ @asset = Asset.new(photo: asset_params[:file])
109
108
 
110
109
  if @asset.save
111
110
  render json: @asset
@@ -113,6 +112,12 @@ class AssetsController < ApplicationController
113
112
  head :bad_request
114
113
  end
115
114
  end
115
+
116
+ private
117
+
118
+ def asset_params
119
+ params.permit(:file)
120
+ end
116
121
  end
117
122
  ```
118
123
 
@@ -125,6 +130,8 @@ This view code could be placed anywhere for immediate uploading:
125
130
  %input.standard-attachment{ name: 'standard_attachment', accept: 'image/*', type: :file, multiple: :multiple }
126
131
  ```
127
132
 
133
+ Anything with a data-placeholder attribute will be hidden when an file is successfully dropped.
134
+
128
135
  If attaching assets to a different model, additionally use:
129
136
 
130
137
  ```ruby
@@ -132,7 +139,6 @@ If attaching assets to a different model, additionally use:
132
139
  class Post < ActiveRecord::Base
133
140
  has_many :assets, dependent: :destroy
134
141
 
135
- attr_accessible :asset_ids, :assets_attributes
136
142
  accepts_nested_attributes_for :assets
137
143
  end
138
144
 
@@ -144,10 +150,16 @@ class PostsController < ApplicationController
144
150
  end
145
151
 
146
152
  def create
147
- @post = Post.new(params[:post])
153
+ @post = Post.new(post_params)
148
154
  @post.save
149
155
  respond_with @post
150
156
  end
157
+
158
+ private
159
+
160
+ def post_params
161
+ params.require(:post).permit(:asset_ids, :assets_attributes)
162
+ end
151
163
  end
152
164
  ```
153
165
 
@@ -185,4 +197,4 @@ jackUp.on "upload:success", (e, options) ->
185
197
 
186
198
  ## License
187
199
 
188
- JackUp is copyright 2012 Josh Steiner, Josh Clayton, and thoughtbot, inc., and may be redistributed under the terms specified in the LICENSE file.
200
+ JackUp is copyright 2012-2013 Josh Steiner, Josh Clayton, and thoughtbot, inc., and may be redistributed under the terms specified in the LICENSE file.
data/Rakefile CHANGED
@@ -20,21 +20,11 @@ RDoc::Task.new(:rdoc) do |rdoc|
20
20
  rdoc.rdoc_files.include('lib/**/*.rb')
21
21
  end
22
22
 
23
- APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
23
+ APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
24
24
  load 'rails/tasks/engine.rake'
25
25
 
26
-
27
-
28
26
  Bundler::GemHelper.install_tasks
29
27
 
30
- require 'rake/testtask'
31
-
32
- Rake::TestTask.new(:test) do |t|
33
- t.libs << 'lib'
34
- t.libs << 'test'
35
- t.pattern = 'test/**/*_test.rb'
36
- t.verbose = false
37
- end
38
-
28
+ RSpec::Core::RakeTask.new(:spec)
39
29
 
40
- task :default => :test
30
+ task :default => :spec
@@ -5,20 +5,21 @@ ignoreEvent = (event) ->
5
5
  class @JackUp.DragAndDrop
6
6
  constructor: (@droppableElement, @processor) ->
7
7
  @droppableElement
8
- .bind("dragenter", @_drag)
8
+ .bind("dragenter", @_dragEnter)
9
+ .bind("dragleave", @_dragLeave)
9
10
  .bind("drop", @_drop)
10
- .bind("drop", @_dragOut)
11
11
 
12
- _drag: (event) =>
12
+ _dragEnter: (event) =>
13
13
  ignoreEvent event
14
14
  event.originalEvent.dataTransfer.dropEffect = "copy"
15
15
  @droppableElement.addClass("hover")
16
16
 
17
- _dragOut: (event) =>
17
+ _dragLeave: (event) =>
18
18
  ignoreEvent event
19
19
  @droppableElement.removeClass("hover")
20
20
 
21
21
  _drop: (event) =>
22
22
  ignoreEvent event
23
+ @droppableElement.removeClass("hover")
23
24
  @droppableElement.find('[data-placeholder]').hide()
24
25
  @processor.processFilesForEvent(event)
@@ -1,11 +1,3 @@
1
- railsCSRFData = ->
2
- csrfParam = $('meta[name=csrf-param]').attr('content')
3
- csrfToken = $('meta[name=csrf-token]').attr('content')
4
-
5
- formData = {}
6
- formData[csrfParam] = csrfToken
7
- JSON.stringify formData
8
-
9
1
  class @JackUp.FileUploader
10
2
  constructor: (@options) ->
11
3
  @path = @options.path
@@ -49,7 +41,7 @@ class @JackUp.FileUploader
49
41
 
50
42
  xhr.setRequestHeader 'Content-Type', file.type
51
43
  xhr.setRequestHeader 'X-File-Name', file.name
52
- xhr.setRequestHeader 'X-Query-Params', railsCSRFData()
44
+ xhr.setRequestHeader 'X-CSRF-Token', $('meta[name=csrf-token]').attr('content')
53
45
 
54
46
  @trigger 'upload:start', file: file
55
47
  xhr.send file
@@ -1,3 +1,3 @@
1
1
  module JackUp
2
- VERSION = '0.1.1'
2
+ VERSION = '0.2.0'
3
3
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jack_up
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
5
- prerelease:
4
+ version: 0.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Josh Steiner
@@ -10,24 +9,22 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2012-08-03 00:00:00.000000000 Z
12
+ date: 2014-07-31 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: rails
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ~>
18
+ - - "~>"
21
19
  - !ruby/object:Gem::Version
22
- version: '3.1'
20
+ version: '4.0'
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ~>
25
+ - - "~>"
29
26
  - !ruby/object:Gem::Version
30
- version: '3.1'
27
+ version: '4.0'
31
28
  description: Easy AJAX file uploading in Rails
32
29
  email:
33
30
  - josh@jsteiner.me
@@ -36,42 +33,40 @@ executables: []
36
33
  extensions: []
37
34
  extra_rdoc_files: []
38
35
  files:
36
+ - LICENSE
37
+ - README.md
38
+ - Rakefile
39
+ - lib/assets/javascripts/jack_up.js
39
40
  - lib/assets/javascripts/jack_up/base.coffee
40
41
  - lib/assets/javascripts/jack_up/drag_and_drop.coffee
41
42
  - lib/assets/javascripts/jack_up/events.coffee
42
43
  - lib/assets/javascripts/jack_up/file_uploader.coffee
43
44
  - lib/assets/javascripts/jack_up/jquery.coffee
44
45
  - lib/assets/javascripts/jack_up/processor.coffee
45
- - lib/assets/javascripts/jack_up.js
46
+ - lib/jack_up.rb
46
47
  - lib/jack_up/engine.rb
47
48
  - lib/jack_up/version.rb
48
- - lib/jack_up.rb
49
- - LICENSE
50
- - Rakefile
51
- - README.md
52
49
  homepage: http://github.com/thoughtbot/jack_up
53
50
  licenses: []
51
+ metadata: {}
54
52
  post_install_message:
55
53
  rdoc_options: []
56
54
  require_paths:
57
55
  - lib
58
56
  required_ruby_version: !ruby/object:Gem::Requirement
59
- none: false
60
57
  requirements:
61
- - - ! '>='
58
+ - - ">="
62
59
  - !ruby/object:Gem::Version
63
60
  version: '0'
64
61
  required_rubygems_version: !ruby/object:Gem::Requirement
65
- none: false
66
62
  requirements:
67
- - - ! '>='
63
+ - - ">="
68
64
  - !ruby/object:Gem::Version
69
65
  version: '0'
70
66
  requirements: []
71
67
  rubyforge_project:
72
- rubygems_version: 1.8.23
68
+ rubygems_version: 2.2.2
73
69
  signing_key:
74
- specification_version: 3
70
+ specification_version: 4
75
71
  summary: Easy AJAX file uploading in Rails
76
72
  test_files: []
77
- has_rdoc: