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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3143ce6c4c30c092465f7df4d8a6d034af441c20
4
- data.tar.gz: e8312b152f841ae69fcd5edb97e72d403c00b502
3
+ metadata.gz: 1cdc3ac29c2dc1407eeaa3fc1471f821f4c473f6
4
+ data.tar.gz: 581c7a987d26e143705e1d711560c5f36e442486
5
5
  SHA512:
6
- metadata.gz: cadd9617228aca58a60b5eaf42d2adc4407d845e67dde41e689f2d8fc9c5b9cd8090d5804e20320d7b2cf5dbaadebd8961749c2a59e0c8308c8670f3be8b6a89
7
- data.tar.gz: c9d6f0071279a2c4dd565bc43176502e7fb98b8b2e1cdfbe5420d140495745f765692691341b02ad555b0aa999efc9ac33266abcc8e46ee36244e3f9b8b2a00a
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, source_folder: test_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. If you let all options empty, the item is moving into the self.root
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
- # You can here add new members in the sharing
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
- # You can here remove members in the sharing
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)
@@ -1,3 +1,3 @@
1
1
  module RepositoryManager
2
- VERSION = '0.1.24'
2
+ VERSION = '0.1.25'
3
3
  end
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.24
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-06 00:00:00.000000000 Z
11
+ date: 2014-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails