repository-manager 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -11,3 +11,4 @@ Gemfile.lock
11
11
  doc/*
12
12
  log/*
13
13
  pkg/*
14
+ *.sqlite3
data/README.md CHANGED
@@ -1,10 +1,12 @@
1
- WORK ON PROGRESS, ACTUALY DON'T WORK.
1
+ WORK ON PROGRESS, but it works.
2
2
 
3
3
  Ruby on Rails plugin (gem) for managing repositories (files/folders/permissions).
4
4
 
5
5
  # RepositoryManager
6
6
 
7
- This project is based on the need for a repository manager system for [Collaide](https://github.com/facenord-sud/collaide). Instead of creating my core repository manager system heavily
7
+ This project is based on the need for a repository manager system for [Collaide](https://github.com/facenord-sud/collaide). A system for easily create/delete files and folders in a repository. For share these repositories easily with other object with a flexible and complete authorisations management.
8
+
9
+ Instead of creating my core repository manager system heavily
8
10
  dependent on our development, I'm trying to implement a generic and potent repository gem.
9
11
 
10
12
  After looking for a good gem to use I noticed the lack of repository gems
@@ -169,6 +171,7 @@ user2.shares_repositories.all
169
171
 
170
172
 
171
173
  If it has the authorisation, an object can add items to a share.
174
+
172
175
  ```ruby
173
176
  # user1 want to add items to his share (the actions are done only if user1 has the ':can_add' permission)
174
177
  user1.can_add_to_share(share) # => true
@@ -189,12 +192,14 @@ group2.can_remove_to_share(share) # => false
189
192
  ```
190
193
 
191
194
  If it has the authorisation, an object can remove items from a share.
195
+
192
196
  ```ruby
193
197
  # user1 want to remove group2 from this share
194
198
  user1.removeItemsToShare(share, group2)
195
199
  ```
196
200
 
197
201
  As admin, you can directly work with the share. Be carefull, there is NO authorisation verification !
202
+
198
203
  ```ruby
199
204
  # Add an item to the share
200
205
  share.addItems(item, share_permissions)
@@ -220,6 +225,7 @@ NOTICE : An object who can share a repository, can't set new permissions that it
220
225
  For instance, `user3` has a share of `repository1` with `:can_delete => false` and `:can_share => true`. He can share `repository1` with `user4`, but he can't put `:can_delete => true` in this new share.
221
226
 
222
227
  You can get all the authorisations with this method: `user1.get_authorisations(repository)`
228
+
223
229
  ```ruby
224
230
  # Returns false if the object has no authorisation in this repository
225
231
  # Returns true if the object has all the authorisations
@@ -242,6 +248,15 @@ To check if the object can add or remove an instance in the share, just write :
242
248
 
243
249
  Like the repository authorisations, you can get the share authorisations with : `group1.get_share_authorisations(share)`.
244
250
 
251
+ ## TODO
252
+
253
+ - Can dowload a file or a folder (auto zip the folder)
254
+ - Snapshot the file if possible
255
+ - Flexible configuration of authorised extensions
256
+ - Versioning
257
+ - ...
258
+
259
+
245
260
  ## License
246
261
 
247
262
  This project rocks and uses MIT-LICENSE.
@@ -1,3 +1,3 @@
1
1
  module RepositoryManager
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
Binary file
@@ -16,13 +16,13 @@ describe 'Repository' do
16
16
  it 'can create a folder in it own folder' do
17
17
  folder = @user1.createFolder('Folder1', @user1_folder)
18
18
 
19
- expect(@user1_folder.has_children?).to eq(1)
19
+ expect(@user1_folder.has_children?).to eq(true)
20
20
  end
21
21
 
22
22
  it 'can\'t create a folder in another folder without permission' do
23
23
  folder = @user2.createFolder('Folder1', @user1_folder)
24
24
 
25
- expect(@user1_folder.has_children?).to eq(nil)
25
+ expect(@user1_folder.has_children?).to eq(false)
26
26
  expect(folder).to eq(false)
27
27
  end
28
28
 
@@ -30,14 +30,14 @@ describe 'Repository' do
30
30
  file = FactoryGirl.build(:app_file)
31
31
  theFile = @user1.createFile(file, @user1_folder)
32
32
 
33
- expect(@user1_folder.has_children?).to eq(1)
33
+ expect(@user1_folder.has_children?).to eq(true)
34
34
  expect(file).to eq(theFile)
35
35
  end
36
36
 
37
37
  it 'can\'t create a repo into a file' do
38
38
  file = @user2.createFolder('Folder1', @user1_file)
39
39
 
40
- expect(@user1_file.has_children?).to eq(nil)
40
+ expect(@user1_file.has_children?).to eq(false)
41
41
  expect(file).to eq(false)
42
42
  end
43
43
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: repository-manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: