lolita-file-upload 0.7.3 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +49 -0
- data/Gemfile +11 -21
- data/Gemfile.lock +151 -0
- data/README.md +28 -0
- data/Rakefile +4 -36
- data/app/assets/javascripts/lolita/file-upload/gallery.js.coffee +8 -2
- data/app/assets/stylesheets/lolita/file-upload/uploader.css.erb +11 -1
- data/app/models/lolita/upload/file.rb +5 -28
- data/app/views/components/lolita/configuration/field/file/_display.html.haml +9 -3
- data/config/locales/en.yml +3 -0
- data/config/locales/lv.yml +3 -0
- data/lib/lolita-file-upload/configuration/tab/files.rb +2 -2
- data/lolita-file-upload.gemspec +13 -192
- data/spec/models/file_spec.rb +0 -12
- data/spec/spec_helper.rb +5 -13
- data/spec/support/post.rb +4 -2
- data/test_orm/active_record/news.rb +1 -1
- data/test_orm/rails/log/development.log +5 -0
- data/test_orm/support.rb +1 -1
- data/vendor/assets/javascripts/lolita/file-upload/application_vendor.js +0 -1
- metadata +44 -116
- data/README.rdoc +0 -27
- data/features/configuration_for_tab.feature +0 -26
- data/features/connect_with_lolita.feature +0 -14
- data/features/extend_resources_with_new_routes.feature +0 -17
- data/features/step_definitions/lolita_steps.rb +0 -112
- data/features/support/env.rb +0 -15
- data/features/support_byte_converter.feature +0 -31
- data/features/upload_file.feature +0 -16
- data/test_orm/coverage.rb +0 -19
data/README.rdoc
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
= Lolita file upload
|
2
|
-
|
3
|
-
File upload gem for Lolita.
|
4
|
-
|
5
|
-
==Instalation
|
6
|
-
* gem install lolita-file-upload
|
7
|
-
* include in gemfile like this:
|
8
|
-
gem "lolita-file-upload", ">=0.1.0"
|
9
|
-
* cd your_project_path
|
10
|
-
* rails g lolita_file_upload:install
|
11
|
-
|
12
|
-
Install will copy migration to your project.
|
13
|
-
If you update to newest version of gem, than run <i>rails g lolita_file_upload:assets</i>
|
14
|
-
|
15
|
-
==Configuration
|
16
|
-
|
17
|
-
Gem will not used until any of lolita configuration blocks define tab with type :files. Like this
|
18
|
-
class Post
|
19
|
-
include Lolita::Configuration
|
20
|
-
has_many :files, :as=>:fileable, :class_name=>"Lolita::Upload::File"
|
21
|
-
|
22
|
-
lolita do
|
23
|
-
tab(:content)
|
24
|
-
tab(:files)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
@@ -1,26 +0,0 @@
|
|
1
|
-
Feature: lolita have new configuration for tab
|
2
|
-
|
3
|
-
Lolita file upload define new configuration for lolita tabs, that
|
4
|
-
allow to specify file types, file list view and add atributes for file.
|
5
|
-
Tab type for lolita-file-upload will be :file
|
6
|
-
|
7
|
-
Scenario: i am able to define new tab with type :file and set allowed file types
|
8
|
-
Given a lolita and lolita-file-upload
|
9
|
-
When I define a file tab for post
|
10
|
-
Then I can set included extension type pdf
|
11
|
-
|
12
|
-
Scenario: set maximum file upload size
|
13
|
-
Given a lolita
|
14
|
-
And a rails
|
15
|
-
And rails application
|
16
|
-
And file tab for post
|
17
|
-
When I set maximum file upload size to 100000
|
18
|
-
Then I cannot upload file large_file.txt
|
19
|
-
|
20
|
-
Scenario: set assciation with Lolita::Upload::File
|
21
|
-
Given a lolita
|
22
|
-
And lolita-file-upload
|
23
|
-
When I define a file tab for post
|
24
|
-
Then Post has association with Lolita::Upload::File
|
25
|
-
And association name for Post is :files
|
26
|
-
|
@@ -1,14 +0,0 @@
|
|
1
|
-
Feature: lolita-file-upload connects to Lolita
|
2
|
-
|
3
|
-
To have all file upload features, file upload gem should connect itsefl to lolita base.
|
4
|
-
|
5
|
-
Scenario: lolita-file-upload load in universe
|
6
|
-
Given a lolita
|
7
|
-
When I load lolita-file-upload
|
8
|
-
Then lolita should have file-upload module
|
9
|
-
|
10
|
-
Scenario: lolita-file-upload starts rails engine
|
11
|
-
Given a rails
|
12
|
-
When I load lolita-file-upload
|
13
|
-
Then I have LolitaFileUpload engine
|
14
|
-
|
@@ -1,17 +0,0 @@
|
|
1
|
-
Feature: all resoures have new routes for file upload
|
2
|
-
|
3
|
-
File upload lives in lolita/upload and loads only once when any of lolita resources has defined files tab.
|
4
|
-
|
5
|
-
Scenario: extend resources path
|
6
|
-
Given a lolita
|
7
|
-
And a rails
|
8
|
-
And rails application
|
9
|
-
And lolita-file-upload
|
10
|
-
When I load routes
|
11
|
-
Then I have get route /lolita/upload/files/new
|
12
|
-
And I have get route /lolita/upload/files/1/edit
|
13
|
-
And I have get route /lolita/upload/files/1
|
14
|
-
And I have post route /lolita/upload/files
|
15
|
-
And I have put route /lolita/upload/files/1
|
16
|
-
And I have delete route /lolita/upload/files/1
|
17
|
-
And I have get route /lolita/upload/files
|
@@ -1,112 +0,0 @@
|
|
1
|
-
Given /^a lolita$/ do
|
2
|
-
|
3
|
-
end
|
4
|
-
|
5
|
-
When /^I load lolita\-file\-upload$/ do
|
6
|
-
require "lolita-file-upload"
|
7
|
-
end
|
8
|
-
|
9
|
-
Then /^lolita should have file\-upload module$/ do
|
10
|
-
Lolita.modules.include?(Lolita::FileUpload).should be_true
|
11
|
-
end
|
12
|
-
|
13
|
-
Given /^a rails$/ do
|
14
|
-
require 'rails'
|
15
|
-
require 'lolita/rails/all'
|
16
|
-
require 'lolita-file-upload/rails'
|
17
|
-
end
|
18
|
-
|
19
|
-
Given /^rails application$/ do
|
20
|
-
require File.expand_path("test_orm/rails/config/enviroment")
|
21
|
-
end
|
22
|
-
|
23
|
-
Then /^I have LolitaFileUpload engine$/ do
|
24
|
-
defined?(LolitaFileUpload::Engine).should be_true
|
25
|
-
end
|
26
|
-
|
27
|
-
Given /^a lolita and lolita\-file\-upload$/ do
|
28
|
-
|
29
|
-
end
|
30
|
-
|
31
|
-
When /^I define a file tab for (\w+)$/ do |model_name|
|
32
|
-
@file_tab=Support.file_tab(model_name)
|
33
|
-
end
|
34
|
-
|
35
|
-
Then /^I can set included extension type (\w+)$/ do |ext_name|
|
36
|
-
@file_tab.extension(ext_name)
|
37
|
-
@file_tab.extensions.size.should == 1
|
38
|
-
end
|
39
|
-
|
40
|
-
Given /^lolita\-file\-upload$/ do
|
41
|
-
|
42
|
-
end
|
43
|
-
|
44
|
-
Given /^file tab for (\w+)$/ do |model_name|
|
45
|
-
@file_tab=Support.file_tab(model_name)
|
46
|
-
end
|
47
|
-
|
48
|
-
When /^I set maximum file upload size to (\d+)$/ do |size|
|
49
|
-
@file_tab.maxfilesize(size)
|
50
|
-
end
|
51
|
-
|
52
|
-
Then /^I (c\w+)\supload file (\w+\.\w+)$/ do |predicate,file_name|
|
53
|
-
file=Lolita::Upload::File.create(:asset=>Support.get_file(file_name))
|
54
|
-
if predicate=="can"
|
55
|
-
file.errors.should be_empty
|
56
|
-
elsif predicate=="cannot"
|
57
|
-
file.errors[:asset].should_not be_nil
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
Then /^(\w+)\s+has association with ([\w:]+)$/ do |model_name,klass|
|
62
|
-
model=Support.get_model(model_name)
|
63
|
-
model.lolita.dbi.associations_klass_names.should include(klass)
|
64
|
-
end
|
65
|
-
|
66
|
-
Then /^association name for (\w+)\sis :(\w+)$/ do |model_name,assoc_name|
|
67
|
-
model=Support.get_model(model_name)
|
68
|
-
model.lolita.dbi.reflect_on_association(assoc_name.to_sym).should_not be_nil
|
69
|
-
end
|
70
|
-
|
71
|
-
When /^I upload file (.+)$/ do |file_name|
|
72
|
-
pending # express the regexp above with the code you wish you had
|
73
|
-
end
|
74
|
-
|
75
|
-
Then /^I see (\w+)$/ do |file_name|
|
76
|
-
pending # express the regexp above with the code you wish you had
|
77
|
-
end
|
78
|
-
|
79
|
-
Then /^I change file attribute ([^\s]) to (\w+)$/ do |attribute,value|
|
80
|
-
pending # express the regexp above with the code you wish you had
|
81
|
-
end
|
82
|
-
|
83
|
-
Then /^save file$/ do
|
84
|
-
pending # express the regexp above with the code you wish you had
|
85
|
-
end
|
86
|
-
|
87
|
-
Then /^I see (\w+)$/ do |file_name|
|
88
|
-
pending # express the regexp above with the code you wish you had
|
89
|
-
end
|
90
|
-
|
91
|
-
When /^I load routes$/ do
|
92
|
-
# routes is loaded when rails application loads, but i will load matcher for that
|
93
|
-
self.extend(Lolita::Test::Matchers)
|
94
|
-
# RSpec::Matchers.send(:include,Lolita::Test::Matchers)
|
95
|
-
end
|
96
|
-
|
97
|
-
Then /^I have (get|post|delete|put) route (.+)$/ do |method,url|
|
98
|
-
{method=>url}.should be_routable
|
99
|
-
end
|
100
|
-
|
101
|
-
Given /^byte converter$/ do
|
102
|
-
@converter=Lolita::Support::Bytes
|
103
|
-
end
|
104
|
-
|
105
|
-
When /^I humanize "([^"]*)"$/ do |size|
|
106
|
-
@converter=@converter.new(eval(size))
|
107
|
-
end
|
108
|
-
|
109
|
-
Then /^I should get "([^"]*)" and "([^"]*)"$/ do |unit, limit|
|
110
|
-
@converter.unit.should == unit
|
111
|
-
@converter.value.should == limit.to_f
|
112
|
-
end
|
data/features/support/env.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
require File.expand_path('test_orm/coverage')
|
2
|
-
require File.expand_path("lib/lolita-file-upload")
|
3
|
-
require "carrierwave"
|
4
|
-
|
5
|
-
require "ruby-debug"
|
6
|
-
current_orm=:active_record
|
7
|
-
require 'carrierwave/orm/'+current_orm.to_s.gsub("_","")
|
8
|
-
|
9
|
-
require File.expand_path("test_orm/#{current_orm}")
|
10
|
-
|
11
|
-
require File.expand_path("test_orm/support")
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
@@ -1,31 +0,0 @@
|
|
1
|
-
Feature: convert bytes to biggest possible unit
|
2
|
-
|
3
|
-
In order to show file upload errors in human understendable way
|
4
|
-
There should be converter that converts bytes to kilobytes, megabytes, gigabytes.
|
5
|
-
Lolita::Suport::Bytes do that think, it is create by passing bytes, and return unit and values with
|
6
|
-
converted values
|
7
|
-
|
8
|
-
Scenario Outline: convert bytes
|
9
|
-
Given byte converter
|
10
|
-
When I humanize "<size>"
|
11
|
-
Then I should get "<unit>" and "<limit>"
|
12
|
-
|
13
|
-
Scenarios: to bytes
|
14
|
-
| size | unit | limit |
|
15
|
-
| 0 | bytes | 0.0 |
|
16
|
-
| 1023 | bytes | 1023.0 |
|
17
|
-
|
18
|
-
Scenarios: to kilobytes
|
19
|
-
| size | unit | limit |
|
20
|
-
| 1024 | kilobyte | 1.0 |
|
21
|
-
| 1024**2-1 | megabyte | 1.0 |
|
22
|
-
|
23
|
-
Scenarios: to megabytes
|
24
|
-
| size | unit | limit |
|
25
|
-
| 1024**2 | megabyte | 1.0 |
|
26
|
-
| 1024**3-1 | gigabyte | 1.0 |
|
27
|
-
|
28
|
-
Scenarios: to gigabytes
|
29
|
-
| size | unit | limit |
|
30
|
-
| 1024**3 | gigabyte | 1.0 |
|
31
|
-
| 1024**4-1 | gigabytes | 1024.0 |
|
@@ -1,16 +0,0 @@
|
|
1
|
-
Feature: upload file from lolita and manage file attributes
|
2
|
-
|
3
|
-
Files in lolita have name attribute. Any attributes can be changed after file is uploaded.
|
4
|
-
File always is related with some ORM class object.
|
5
|
-
|
6
|
-
Scenario: upload file
|
7
|
-
Given a lolita
|
8
|
-
And a rails
|
9
|
-
And rails application
|
10
|
-
And lolita-file-upload
|
11
|
-
And I visit new post
|
12
|
-
When I upload file normal_file.txt
|
13
|
-
Then I see normal_file
|
14
|
-
And I change file attribute name to my_file
|
15
|
-
And save file
|
16
|
-
Then I see my_file
|
data/test_orm/coverage.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'cover_me'
|
2
|
-
|
3
|
-
CoverMe.config do |c|
|
4
|
-
# where is your project's root:
|
5
|
-
"------"+c.project.root
|
6
|
-
|
7
|
-
# what files are you interested in coverage for:
|
8
|
-
c.file_pattern # => /(#{CoverMe.config.project.root}\/app\/.+\.rb|#{CoverMe.config.project.root}\/lib\/.+\.rb)/i (default)
|
9
|
-
|
10
|
-
# where do you want the HTML generated:
|
11
|
-
c.html_formatter.output_path # => File.join(CoverMe.config.project.root, 'coverage') (default)
|
12
|
-
|
13
|
-
# what do you want to happen when it finishes:
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
at_exit do
|
18
|
-
CoverMe.complete!
|
19
|
-
end
|