repository-manager 0.1.24 → 0.1.25
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.
- checksums.yaml +4 -4
- data/README.md +54 -2
- data/lib/repository_manager/has_repository.rb +4 -4
- data/lib/repository_manager/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1cdc3ac29c2dc1407eeaa3fc1471f821f4c473f6
|
4
|
+
data.tar.gz: 581c7a987d26e143705e1d711560c5f36e442486
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a9b3bc0edccafabddd82c4f74734a4a5288cf0d27a6688ba1b93c5d8947315234a99a6a081296c3f8f2308ce5fa38a3b39fd1fcf77f232dc0ffcffb1a84d549
|
7
|
+
data.tar.gz: 60f9161a4018fa0cdba2bf0734e978e9d83bc4432a795d8b6bbce58299270d50e8450efecadd4c75699660f04ed990400b704b09ab9baaaba8da7939c150ba41
|
data/README.md
CHANGED
@@ -120,7 +120,7 @@ The two methods do the same, but the one with the "!" returns an Exception error
|
|
120
120
|
|
121
121
|
### How can I create/delete/move a repo_item (file or folder)
|
122
122
|
|
123
|
-
You just have to call the `has_repository` methods `create_file`, `create_folder`, `move_repo_item` or `delete_repo_item`.
|
123
|
+
You just have to call the `has_repository` methods `create_file`, `create_folder`, `move_repo_item`, `copy_repo_item` or `delete_repo_item`. [Check here for all `has_repository` methods] (https://github.com/Texicitys/repository-manager/wiki/Has_repository-methods).
|
124
124
|
|
125
125
|
```ruby
|
126
126
|
# user1 wants to create a folder in his repository
|
@@ -174,7 +174,7 @@ test_folder = user1.create_folder('Test folder')
|
|
174
174
|
# |-- 'Test folder'
|
175
175
|
|
176
176
|
# user1 want to move 'The new folder' in 'Test folder'
|
177
|
-
user1.move_repo_item(the_new_folder,
|
177
|
+
user1.move_repo_item(the_new_folder, test_folder)
|
178
178
|
|
179
179
|
# user1 own repository :
|
180
180
|
# |-- 'Root folder'
|
@@ -193,6 +193,17 @@ user1.rename_repo_item(the_new_folder, 'The renamed folder')
|
|
193
193
|
# | |-- 'The renamed folder'
|
194
194
|
# | | |-- 'file.txt'
|
195
195
|
|
196
|
+
# user1 want to copy 'Root folder' into 'Test folder'
|
197
|
+
user1.copy_repo_item(source_folder, test_folder)
|
198
|
+
|
199
|
+
# user1 own repository :
|
200
|
+
# |-- 'Root folder'
|
201
|
+
# |-- 'file2.jpg'
|
202
|
+
# |-- 'Test folder'
|
203
|
+
# | |-- 'Root folder'
|
204
|
+
# | |-- 'The renamed folder'
|
205
|
+
# | | |-- 'file.txt'
|
206
|
+
|
196
207
|
# Delete a repo_item
|
197
208
|
# Note : user1 needs the ':can_delete => true' permission in the folder : the_new_folder (else the method returns `false`).
|
198
209
|
user1.delete_repo_item(test_folder)
|
@@ -453,6 +464,47 @@ path = the_folder.download
|
|
453
464
|
the_folder.delete_zip
|
454
465
|
```
|
455
466
|
|
467
|
+
### Errors handling
|
468
|
+
|
469
|
+
When an error happen, you (and the user also) want to know what was the source of this problem. I tried to make it the most simple as possible.
|
470
|
+
|
471
|
+
For the two `has_repository` methods `create_file` and `create_folder`, the errors are pushed into the `options` hash parameter with the key `errors` (`options[:errors]`)
|
472
|
+
|
473
|
+
|
474
|
+
```ruby
|
475
|
+
# We want to redirect back with the notice 'Folder created' if the folder is created, and show the error(s) otherwise
|
476
|
+
options = {source_folder: repo_item, sender: current_user}
|
477
|
+
if @item = @group.create_folder(params[:repo_folder][:name], options)
|
478
|
+
redirect_to back, notice: 'Folder created'
|
479
|
+
else
|
480
|
+
redirect_to back, alert: options[:errors].first # Contains the first text message error
|
481
|
+
|
482
|
+
options[:errors] # Contains array of errors
|
483
|
+
|
484
|
+
# Same for create_file
|
485
|
+
options = {source_folder: repo_item, sender: current_user}
|
486
|
+
if @item = @group.create_file(params[:repo_file][:file], options)
|
487
|
+
redirect_to back, notice: 'File created'
|
488
|
+
else
|
489
|
+
redirect_to back, alert: options[:errors].first # Contains the first text message(s) error(s)
|
490
|
+
|
491
|
+
options[:errors] # Contains array of errors
|
492
|
+
```
|
493
|
+
|
494
|
+
For the other `has_repository` methods, the error is added to the first object passed in parameter (for instance: `repo_item` or `sharing`)
|
495
|
+
|
496
|
+
|
497
|
+
```ruby
|
498
|
+
# We want to catch the error if it has one
|
499
|
+
if @group.delete_repo_item(@repo_item)
|
500
|
+
redirect_to :back, notice: 'Item deleted'
|
501
|
+
else
|
502
|
+
# repo_item.errors ==> Contains the errors
|
503
|
+
redirect_to :back, alert: repo_item.errors.messages[:delete].first
|
504
|
+
end
|
505
|
+
```
|
506
|
+
|
507
|
+
|
456
508
|
## TODO
|
457
509
|
|
458
510
|
- Do the rename file method
|
@@ -311,7 +311,7 @@ module RepositoryManager
|
|
311
311
|
end
|
312
312
|
end
|
313
313
|
|
314
|
-
# Move the repo_item
|
314
|
+
# Move the repo_item
|
315
315
|
# target => move into this source_folder
|
316
316
|
# if target == nil, move to the root
|
317
317
|
def move_repo_item!(repo_item, target = nil)
|
@@ -401,7 +401,7 @@ module RepositoryManager
|
|
401
401
|
FileUtils.rm_rf(self.get_default_download_path())
|
402
402
|
end
|
403
403
|
|
404
|
-
#Return the permissions of the sharing (can_add, can_remove)
|
404
|
+
# Return the permissions of the sharing (can_add, can_remove)
|
405
405
|
def get_sharing_permissions(sharing)
|
406
406
|
sharing.get_permissions(self)
|
407
407
|
end
|
@@ -464,7 +464,7 @@ module RepositoryManager
|
|
464
464
|
can_do_to?('remove', sharing)
|
465
465
|
end
|
466
466
|
|
467
|
-
#
|
467
|
+
# Add new members in the sharing
|
468
468
|
# Param member could be an object or an array of object
|
469
469
|
def add_members_to!(sharing, members, options = RepositoryManager.default_sharing_permissions)
|
470
470
|
permissions = get_sharing_permissions(sharing)
|
@@ -485,7 +485,7 @@ module RepositoryManager
|
|
485
485
|
end
|
486
486
|
end
|
487
487
|
|
488
|
-
#
|
488
|
+
# Remove members in the sharing
|
489
489
|
# Param member could be an object or an array of object
|
490
490
|
def remove_members_from!(sharing, members)
|
491
491
|
if can_remove_from?(sharing)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: repository-manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.25
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yves Baumann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|