lolita-file-upload 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.
Files changed (24) hide show
  1. data/Gemfile +1 -1
  2. data/VERSION +1 -1
  3. data/app/controllers/lolita/upload/files_controller.rb +4 -4
  4. data/app/models/lolita/upload/file.rb +2 -2
  5. data/app/uploaders/file_uploader.rb +11 -2
  6. data/app/views/components/lolita/{tab → configuration/tab}/files/_cells.html.erb +0 -0
  7. data/app/views/components/lolita/{tab → configuration/tab}/files/_destroy.js.erb +0 -0
  8. data/app/views/components/lolita/{tab/_files.html.erb → configuration/tab/files/_display.html.erb} +3 -5
  9. data/app/views/components/lolita/configuration/tab/files/_edit.js.erb +1 -0
  10. data/app/views/components/lolita/{tab → configuration/tab}/files/_form.html.erb +0 -0
  11. data/app/views/components/lolita/{tab → configuration/tab}/files/_list.html.erb +1 -1
  12. data/app/views/components/lolita/{tab → configuration/tab}/files/_list_form.html.erb +1 -1
  13. data/app/views/components/lolita/{tab → configuration/tab}/files/_row.html.erb +1 -1
  14. data/app/views/components/lolita/configuration/tab/files/_update.js.erb +1 -0
  15. data/app/views/components/lolita/{tab → configuration/tab}/files/_upload_script.html.erb +2 -2
  16. data/lib/generators/lolita_file_upload/assets_generator.rb +2 -1
  17. data/lib/generators/lolita_file_upload/templates/migration.rb +7 -7
  18. data/lib/lolita-file-upload.rb +7 -2
  19. data/lib/lolita-file-upload/configuration/tab/files.rb +44 -42
  20. data/lolita-file-upload.gemspec +15 -12
  21. data/test_orm/db/migrate/02_create_files.rb +3 -0
  22. metadata +34 -23
  23. data/app/views/components/lolita/tab/files/_edit.js.erb +0 -1
  24. data/app/views/components/lolita/tab/files/_update.js.erb +0 -1
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- #gem "lolita"
3
+ gem "lolita", ">=3.0.6"
4
4
  gem "carrierwave", "~> 0.5.2"
5
5
  group :test do
6
6
  gem "rspec-rails", "~> 2.5"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
@@ -13,22 +13,22 @@ module Lolita
13
13
  def create
14
14
  @file.asset = params[:file]
15
15
  @file.save!
16
- render_component :"lolita/tab/files",:row,:file=>@file, :tab=>@tab
16
+ render_component *@tab.build("",:row,:file=>@file)
17
17
  end
18
18
 
19
19
  def edit
20
- render_component :"lolita/tab/files", :edit, :file=>@file,:tab=>@tab
20
+ render_component *@tab.build("",:edit,:file=>@file)
21
21
  end
22
22
 
23
23
  def update
24
24
  @file.update_attributes!(params[:file])
25
- render_component :"lolita/tab/files", :update, :file=>@file,:tab=>@tab
25
+ render_component *@tab.build("",:update,:file=>@file)
26
26
  end
27
27
 
28
28
 
29
29
  def destroy
30
30
  @file.destroy
31
- render_component :"lolita/tab/files",:destroy,:file=>@file,:tab=>@tab
31
+ render_component *@tab.build("",:destroy,:file=>@file)
32
32
  end
33
33
 
34
34
  private
@@ -23,9 +23,9 @@ module Lolita
23
23
  end
24
24
 
25
25
  def set_metadata
26
- self.name||=::File.basename(self.asset.to_s)
26
+ self.name||=::File.basename(self.asset.store_path)
27
27
  self.asset_size=self.asset.file.size
28
- self.asset_extension=::File.extname(self.asset.to_s).gsub(".","")
28
+ self.asset_extension=::File.extname(self.asset.store_path).gsub(".","")
29
29
  end
30
30
 
31
31
  end
@@ -1,12 +1,21 @@
1
1
  class FileUploader < CarrierWave::Uploader::Base
2
2
  storage :file
3
3
  def timestamp
4
- (model.created_at || Time.now).strftime("%Y%m")
4
+ time=if model
5
+ model.created_at || Time.now
6
+ else
7
+ Time.now
8
+ end
9
+ time.strftime("%Y%m")
5
10
  end
6
11
 
7
12
  # With slash in first place it will be absolute url, otherwise relative to Rails.root+"/public"
8
13
  def store_dir
9
- "uploads/#{model.class.to_s.underscore}/#{timestamp}/#{model.id}"
14
+ if model
15
+ "upload/#{model.class.to_s.underscore}/#{timestamp}/#{model.id}"
16
+ else
17
+ "upload/misc"
18
+ end
10
19
  end
11
20
 
12
21
  end
@@ -4,10 +4,8 @@
4
4
  </div>
5
5
  <% end %>
6
6
  <div id="filelist">
7
- <%= render_component :"lolita/tab/files", :list,:tab=>tab %>
7
+ <%= render_component *tab.build("",:list)%>
8
8
  </div>
9
- <%= render_component :"lolita/tab/files", :upload_script,
10
- :container=>"file_upload_container",:tab=>tab
11
- %>
12
- <%= render_component :"lolita/tab", :fields, :tab=>tab %>
9
+ <%= render_component *tab.build("",:upload_script,:container=>"file_upload_container")%>
10
+ <%= render_component :"lolita/configuration/tab", :fields, :tab=>tab %>
13
11
 
@@ -0,0 +1 @@
1
+ $("#upload_<%=tab.type%>_row_<%=file.id%>").html("<%=escape_javascript(render_component(*tab.build("",:list_form,:file=>file,:format=>"html")))%>")
@@ -7,7 +7,7 @@
7
7
  </thead>
8
8
  <tbody>
9
9
  <% resource.send(tab.association.name).each do |file| %>
10
- <%= render_component :"lolita/tab/files", :row, :file=>file,:tab=>tab,:value=>nil %>
10
+ <%= render_component *tab.build("",:row,:file=>file,:value=>nil) %>
11
11
  <% end %>
12
12
  </tbody>
13
13
  </table>
@@ -1,5 +1,5 @@
1
1
  <td>
2
- <%=render_component :"lolita/tab/files", :form, :tab=>tab,:file=>file%>
2
+ <%=render_component *tab.build("",:form,:file=>file)%>
3
3
  </td>
4
4
  <td>
5
5
  <%= link_to "S", "#", :onclick=>"$('##{"edit_#{tab.type}_#{file.id}"}').submit();return false;" %>
@@ -1,3 +1,3 @@
1
1
  <tr id="upload_<%=tab.type%>_row_<%=file.id%>" data-<%=tab.type%>-id="<%=file.id%>" >
2
- <%= render_component :"lolita/tab/files", :cells, :tab=>tab, :file=>file %>
2
+ <%= render_component *tab.build("",:cells,:file=>file) %>
3
3
  </tr>
@@ -0,0 +1 @@
1
+ $("#upload_<%=tab.type%>_row_<%=file.id%>").html("<%=escape_javascript(render_component(*tab.build("",:cells,:file=>file,:format=>"html")))%>")
@@ -5,8 +5,8 @@
5
5
  <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js" type="text/javascript"></script>
6
6
  <script type="text/javascript" src="/javascripts/lolita/upload/plupload.full.min.js"></script>
7
7
  <script type="text/javascript" src="/javascripts/lolita/upload/jquery.ui.plupload.min.js"></script>
8
- <% unless I18n.locale.to_s.downcase=="en" %>
9
- <script type="text/javascript" src="/javascripts/lolita/upload/I18n/<%=I18n.locale%>.js"></script>
8
+ <% unless Lolita.locale.to_s.downcase=="en" %>
9
+ <script type="text/javascript" src="/javascripts/lolita/upload/I18n/<%=Lolita.locale%>.js"></script>
10
10
  <% end %>
11
11
 
12
12
  <script type="text/javascript">
@@ -5,7 +5,8 @@ module LolitaFileUpload
5
5
  include Lolita::Generators::FileHelper
6
6
  desc "Copy all from public directory to project public directory."
7
7
  def copy_all
8
- copy_dir("public")
8
+ root=File.expand_path("../../../../",__FILE__)
9
+ copy_dir("public",:root=>root)
9
10
  end
10
11
  end
11
12
  end
@@ -2,13 +2,13 @@ class CreateLolitaUploadFiles < ActiveRecord::Migration
2
2
  class << self
3
3
 
4
4
  def up
5
- create_table :lolita_files, :force=>true do |f|
6
- f.string :asset
7
- f.string :name
8
- f.string :fileable_type
9
- f.integer :fileable_id
10
- f.string :asset_extension, :limit=>12
11
- f.integer :asset_size
5
+ create_table :lolita_files, :force=>true do |t|
6
+ t.string :asset
7
+ t.string :name
8
+ t.string :fileable_type
9
+ t.integer :fileable_id
10
+ t.string :asset_extension, :limit=>12
11
+ t.integer :asset_size
12
12
  t.timestamps
13
13
  end
14
14
 
@@ -1,8 +1,11 @@
1
1
  #TODO add exception if lolita not found, show exception and msg that user should install this gem
2
2
  # if files tab is defined, but there no tab for that, maybe check that through gem.
3
+ if !defined?(Lolita)
4
+ require "lolita"
5
+ end
3
6
  $:<<File.dirname(__FILE__) unless $:.include?(File.dirname(__FILE__))
4
7
 
5
- I18n.load_path += Dir[File.expand_path("config/locales")+"/**/*.yml"]
8
+ I18n.load_path += Dir[File.expand_path("config/locales")+"/**/*.yml"] if defined?(I18n)
6
9
 
7
10
  module Lolita
8
11
  module FileUpload
@@ -12,7 +15,9 @@ module Lolita
12
15
  end
13
16
 
14
17
  module Configuration
15
- autoload :FilesTab, "lolita-file-upload/configuration/tab/files"
18
+ module Tab
19
+ autoload :Files, "lolita-file-upload/configuration/tab/files"
20
+ end
16
21
  end
17
22
  end
18
23
 
@@ -1,53 +1,55 @@
1
1
  module Lolita
2
2
  module Configuration
3
- # FileTab extend Lolita default tab with new lolita accessors.
4
- # * <tt>extensions</tt> - Array of extension white list
5
- # * <tt>maxfilesize</tt> - uploaded file maximums size
6
- class FilesTab < Lolita::Configuration::Tab
7
-
8
- lolita_accessor :extensions,:maxfilesize
9
- attr_reader :association
3
+ module Tab
4
+ # FileTab extend Lolita default tab with new lolita accessors.
5
+ # * <tt>extensions</tt> - Array of extension white list
6
+ # * <tt>maxfilesize</tt> - uploaded file maximums size
7
+ class Files < Lolita::Configuration::Tab::Base
8
+
9
+ lolita_accessor :extensions,:maxfilesize
10
+ attr_reader :association
10
11
 
11
- # As any other Lolita::Configuration::Tab this should receive _dbi_ object.
12
- # Additional _args_ that may represent methods, for details see Lolita::Configuration::Tab.
13
- # And block.
14
- def initialize(dbi,*args,&block)
15
- @type=:files
16
- @extensions=[]
17
- @dbi=dbi
18
- set_association
19
- super
20
- end
12
+ # As any other Lolita::Configuration::Tab this should receive _dbi_ object.
13
+ # Additional _args_ that may represent methods, for details see Lolita::Configuration::Tab.
14
+ # And block.
15
+ def initialize(dbi,*args,&block)
16
+ @type=:files
17
+ @extensions=[]
18
+ @dbi=dbi
19
+ set_association
20
+ super
21
+ end
21
22
 
22
- # Add another extension to #extensions white list.
23
- # ====Example
24
- # # using in lolita configuration definition
25
- # lolita do
26
- # tab(:file) do
27
- # extension :pdf
28
- # end
29
- # end
30
- #
31
- # # using for object
32
- # Lolita::Configuration.FileTab.new(dbi).extension("pdf")
33
- def extension(value)
34
- @extensions << value
35
- end
36
-
37
- private
23
+ # Add another extension to #extensions white list.
24
+ # ====Example
25
+ # # using in lolita configuration definition
26
+ # lolita do
27
+ # tab(:file) do
28
+ # extension :pdf
29
+ # end
30
+ # end
31
+ #
32
+ # # using for object
33
+ # Lolita::Configuration.FileTab.new(dbi).extension("pdf")
34
+ def extension(value)
35
+ @extensions << value
36
+ end
37
+
38
+ private
38
39
 
39
- def set_association
40
- @association=self.dbi.associations.detect{|k,assoc| assoc.class_name=="Lolita::Upload::File"}
41
- @association=@association.last if @association
42
- end
40
+ def set_association
41
+ @association=self.dbi.associations.detect{|k,assoc| assoc.class_name=="Lolita::Upload::File"}
42
+ @association=@association.last if @association
43
+ end
43
44
 
44
- def validate
45
- super
46
- unless self.association
47
- raise Lolita::AssociationError, "#{self.dbi.klass} has no association with Lolita::Upload::File. Put has_many :files, :class_name=>'Lolita::Upload::File' to have one."
45
+ def validate
46
+ super
47
+ unless self.association
48
+ raise Lolita::AssociationError, "#{self.dbi.klass} has no association with Lolita::Upload::File. Put has_many :files, :class_name=>'Lolita::Upload::File' to have one."
49
+ end
48
50
  end
49
- end
50
51
 
52
+ end
51
53
  end
52
54
  end
53
55
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{lolita-file-upload}
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["ITHouse", "Arturs Meisters"]
12
- s.date = %q{2011-03-29}
12
+ s.date = %q{2011-04-12}
13
13
  s.description = %q{File upload gem for Lolita with with fulll integration - models, controller, views}
14
14
  s.email = %q{support@ithouse.lv}
15
15
  s.extra_rdoc_files = [
@@ -27,16 +27,16 @@ Gem::Specification.new do |s|
27
27
  "app/controllers/lolita/upload/files_controller.rb",
28
28
  "app/models/lolita/upload/file.rb",
29
29
  "app/uploaders/file_uploader.rb",
30
- "app/views/components/lolita/tab/_files.html.erb",
31
- "app/views/components/lolita/tab/files/_cells.html.erb",
32
- "app/views/components/lolita/tab/files/_destroy.js.erb",
33
- "app/views/components/lolita/tab/files/_edit.js.erb",
34
- "app/views/components/lolita/tab/files/_form.html.erb",
35
- "app/views/components/lolita/tab/files/_list.html.erb",
36
- "app/views/components/lolita/tab/files/_list_form.html.erb",
37
- "app/views/components/lolita/tab/files/_row.html.erb",
38
- "app/views/components/lolita/tab/files/_update.js.erb",
39
- "app/views/components/lolita/tab/files/_upload_script.html.erb",
30
+ "app/views/components/lolita/configuration/tab/files/_cells.html.erb",
31
+ "app/views/components/lolita/configuration/tab/files/_destroy.js.erb",
32
+ "app/views/components/lolita/configuration/tab/files/_display.html.erb",
33
+ "app/views/components/lolita/configuration/tab/files/_edit.js.erb",
34
+ "app/views/components/lolita/configuration/tab/files/_form.html.erb",
35
+ "app/views/components/lolita/configuration/tab/files/_list.html.erb",
36
+ "app/views/components/lolita/configuration/tab/files/_list_form.html.erb",
37
+ "app/views/components/lolita/configuration/tab/files/_row.html.erb",
38
+ "app/views/components/lolita/configuration/tab/files/_update.js.erb",
39
+ "app/views/components/lolita/configuration/tab/files/_upload_script.html.erb",
40
40
  "config/locales/en.yml",
41
41
  "features/configuration_for_tab.feature",
42
42
  "features/connect_with_lolita.feature",
@@ -112,12 +112,14 @@ Gem::Specification.new do |s|
112
112
  s.specification_version = 3
113
113
 
114
114
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
115
+ s.add_runtime_dependency(%q<lolita>, [">= 3.0.6"])
115
116
  s.add_runtime_dependency(%q<carrierwave>, ["~> 0.5.2"])
116
117
  s.add_development_dependency(%q<cucumber>, ["~> 0.10"])
117
118
  s.add_development_dependency(%q<cucumber-rails>, ["~> 0.3.2"])
118
119
  s.add_development_dependency(%q<bundler>, ["~> 1.0"])
119
120
  s.add_development_dependency(%q<jeweler>, ["~> 1.5"])
120
121
  else
122
+ s.add_dependency(%q<lolita>, [">= 3.0.6"])
121
123
  s.add_dependency(%q<carrierwave>, ["~> 0.5.2"])
122
124
  s.add_dependency(%q<cucumber>, ["~> 0.10"])
123
125
  s.add_dependency(%q<cucumber-rails>, ["~> 0.3.2"])
@@ -125,6 +127,7 @@ Gem::Specification.new do |s|
125
127
  s.add_dependency(%q<jeweler>, ["~> 1.5"])
126
128
  end
127
129
  else
130
+ s.add_dependency(%q<lolita>, [">= 3.0.6"])
128
131
  s.add_dependency(%q<carrierwave>, ["~> 0.5.2"])
129
132
  s.add_dependency(%q<cucumber>, ["~> 0.10"])
130
133
  s.add_dependency(%q<cucumber-rails>, ["~> 0.3.2"])
@@ -7,6 +7,9 @@ class CreateFiles < ActiveRecord::Migration
7
7
  f.string :name
8
8
  f.string :fileable_type
9
9
  f.string :fileable_id
10
+ f.integer :asset_size
11
+ f.string :asset_extension
12
+ f.timestamps
10
13
  end
11
14
  end
12
15
 
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: lolita-file-upload
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.1
5
+ version: 0.1.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - ITHouse
@@ -11,12 +11,23 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2011-03-29 00:00:00 +03:00
14
+ date: 2011-04-12 00:00:00 +03:00
15
15
  default_executable:
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
- name: carrierwave
18
+ name: lolita
19
19
  requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: 3.0.6
25
+ type: :runtime
26
+ prerelease: false
27
+ version_requirements: *id001
28
+ - !ruby/object:Gem::Dependency
29
+ name: carrierwave
30
+ requirement: &id002 !ruby/object:Gem::Requirement
20
31
  none: false
21
32
  requirements:
22
33
  - - ~>
@@ -24,10 +35,10 @@ dependencies:
24
35
  version: 0.5.2
25
36
  type: :runtime
26
37
  prerelease: false
27
- version_requirements: *id001
38
+ version_requirements: *id002
28
39
  - !ruby/object:Gem::Dependency
29
40
  name: cucumber
30
- requirement: &id002 !ruby/object:Gem::Requirement
41
+ requirement: &id003 !ruby/object:Gem::Requirement
31
42
  none: false
32
43
  requirements:
33
44
  - - ~>
@@ -35,10 +46,10 @@ dependencies:
35
46
  version: "0.10"
36
47
  type: :development
37
48
  prerelease: false
38
- version_requirements: *id002
49
+ version_requirements: *id003
39
50
  - !ruby/object:Gem::Dependency
40
51
  name: cucumber-rails
41
- requirement: &id003 !ruby/object:Gem::Requirement
52
+ requirement: &id004 !ruby/object:Gem::Requirement
42
53
  none: false
43
54
  requirements:
44
55
  - - ~>
@@ -46,10 +57,10 @@ dependencies:
46
57
  version: 0.3.2
47
58
  type: :development
48
59
  prerelease: false
49
- version_requirements: *id003
60
+ version_requirements: *id004
50
61
  - !ruby/object:Gem::Dependency
51
62
  name: bundler
52
- requirement: &id004 !ruby/object:Gem::Requirement
63
+ requirement: &id005 !ruby/object:Gem::Requirement
53
64
  none: false
54
65
  requirements:
55
66
  - - ~>
@@ -57,10 +68,10 @@ dependencies:
57
68
  version: "1.0"
58
69
  type: :development
59
70
  prerelease: false
60
- version_requirements: *id004
71
+ version_requirements: *id005
61
72
  - !ruby/object:Gem::Dependency
62
73
  name: jeweler
63
- requirement: &id005 !ruby/object:Gem::Requirement
74
+ requirement: &id006 !ruby/object:Gem::Requirement
64
75
  none: false
65
76
  requirements:
66
77
  - - ~>
@@ -68,7 +79,7 @@ dependencies:
68
79
  version: "1.5"
69
80
  type: :development
70
81
  prerelease: false
71
- version_requirements: *id005
82
+ version_requirements: *id006
72
83
  description: File upload gem for Lolita with with fulll integration - models, controller, views
73
84
  email: support@ithouse.lv
74
85
  executables: []
@@ -89,16 +100,16 @@ files:
89
100
  - app/controllers/lolita/upload/files_controller.rb
90
101
  - app/models/lolita/upload/file.rb
91
102
  - app/uploaders/file_uploader.rb
92
- - app/views/components/lolita/tab/_files.html.erb
93
- - app/views/components/lolita/tab/files/_cells.html.erb
94
- - app/views/components/lolita/tab/files/_destroy.js.erb
95
- - app/views/components/lolita/tab/files/_edit.js.erb
96
- - app/views/components/lolita/tab/files/_form.html.erb
97
- - app/views/components/lolita/tab/files/_list.html.erb
98
- - app/views/components/lolita/tab/files/_list_form.html.erb
99
- - app/views/components/lolita/tab/files/_row.html.erb
100
- - app/views/components/lolita/tab/files/_update.js.erb
101
- - app/views/components/lolita/tab/files/_upload_script.html.erb
103
+ - app/views/components/lolita/configuration/tab/files/_cells.html.erb
104
+ - app/views/components/lolita/configuration/tab/files/_destroy.js.erb
105
+ - app/views/components/lolita/configuration/tab/files/_display.html.erb
106
+ - app/views/components/lolita/configuration/tab/files/_edit.js.erb
107
+ - app/views/components/lolita/configuration/tab/files/_form.html.erb
108
+ - app/views/components/lolita/configuration/tab/files/_list.html.erb
109
+ - app/views/components/lolita/configuration/tab/files/_list_form.html.erb
110
+ - app/views/components/lolita/configuration/tab/files/_row.html.erb
111
+ - app/views/components/lolita/configuration/tab/files/_update.js.erb
112
+ - app/views/components/lolita/configuration/tab/files/_upload_script.html.erb
102
113
  - config/locales/en.yml
103
114
  - features/configuration_for_tab.feature
104
115
  - features/connect_with_lolita.feature
@@ -169,7 +180,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
169
180
  requirements:
170
181
  - - ">="
171
182
  - !ruby/object:Gem::Version
172
- hash: 307725709
183
+ hash: -452058159
173
184
  segments:
174
185
  - 0
175
186
  version: "0"
@@ -1 +0,0 @@
1
- $("#upload_<%=tab.type%>_row_<%=file.id%>").html("<%=escape_javascript(render_component(:"lolita/tab/files",:list_form,:tab=>tab,:file=>file,:format=>"html"))%>")
@@ -1 +0,0 @@
1
- $("#upload_<%=tab.type%>_row_<%=file.id%>").html("<%=escape_javascript(render_component(:"lolita/tab/files",:cells,:tab=>tab,:file=>file,:format=>"html"))%>")