repository-manager 0.2.1 → 0.2.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -297,7 +297,6 @@ describe 'HasRepository' do
297
297
  @user3.create_folder!(nil, source_folder: @user3.create_folder!)
298
298
  expect(@user3.repo_items.count).to eq(3)
299
299
  expect(@user3.root_repo_items.count).to eq(2)
300
-
301
300
  end
302
301
 
303
302
  end
@@ -29,6 +29,9 @@ describe 'RepoItem' do
29
29
  expect(folder).to eq(false)
30
30
  end
31
31
 
32
+ it 'file has md5' do
33
+ expect(@user1_file.checksum).to eq(Digest::MD5.file(File.open("#{Rails.root}/../fixture/textfile.txt")).hexdigest)
34
+ end
32
35
 
33
36
  it 'can\'t create a folder in another folder without permission' do
34
37
  options = {source_folder: @user1_folder}
@@ -63,7 +66,7 @@ describe 'RepoItem' do
63
66
  it 'can delete a folder an his files' do
64
67
  @user1_folder.add(@user1_file)
65
68
  @user1.delete_repo_item(@user1_folder)
66
- expect(@user1.repo_items.count).to eq(0)
69
+ expect(@user1.reload.repo_items.count).to eq(0)
67
70
  end
68
71
 
69
72
  it 'can\'t delete a repo_item without permission' do
@@ -171,6 +174,14 @@ describe 'RepoItem' do
171
174
  @user1.delete_download_path()
172
175
  end
173
176
 
177
+ it 'can\'t copy directly a file in same ort' do
178
+ expect(@user1_file.copy).to eq(false)
179
+ end
180
+
181
+ it 'can copy directly a file' do
182
+ @user1_file.copy!(source_folder: @user1_folder)
183
+ end
184
+
174
185
  it 'can\'t add a repo_item with the same name in a folder' do
175
186
  root_folder = @user1.create_folder('Root folder')
176
187
  root_folder.add(@user1_folder)
@@ -303,8 +314,6 @@ describe 'RepoItem' do
303
314
 
304
315
  expect(@user2.move_repo_item(folder, source_folder: file)).to eq(false)
305
316
  expect(folder.errors.messages).to eq({move: ['This item was not moved']})
306
-
307
-
308
317
  end
309
318
 
310
319
  it "move_repo_item default to the root of the self owner" do
@@ -327,8 +336,50 @@ describe 'RepoItem' do
327
336
  file = @user1.create_file(File.open("#{Rails.root}/../fixture/textfile.txt"), source_folder: @user1_folder)
328
337
  expect(@user2.move_repo_item(file)).to eq(false)
329
338
  expect(file.errors.messages).to eq({move: ['You don\'t have the permission to move this item']})
339
+ end
340
+
341
+ it "can move an item with the same name and overwrite it" do
342
+ file = @user1.create_file(File.open("#{Rails.root}/../fixture/textfile.txt"), source_folder: @user1_folder)
343
+ expect(@user1.move_repo_item!(file, overwrite: true)).to eq(file)
344
+ overwrited = RepositoryManager::RepoItem.where(id: @user1_file.id).first
345
+ expect(overwrited).to eq(nil)
346
+ end
330
347
 
331
- end
348
+ it "can copy an item with the same name and overwrite it" do
349
+ file = @user1.create_file(File.open("#{Rails.root}/../fixture/textfile.txt"), source_folder: @user1_folder)
350
+ copied_file = @user1.copy_repo_item!(file, overwrite: true)
351
+ expect(@user1_file).to eq(copied_file)
352
+ end
353
+
354
+
355
+ it "can copy an item with the same name in folder and overwrite it" do
356
+ file = @user1.create_file(File.open("#{Rails.root}/../fixture/textfile.txt"), source_folder: @user1_folder)
357
+ copied_file = @user1.copy_repo_item!(@user1_file, source_folder: @user1_folder, overwrite: true)
358
+ expect(copied_file).to eq(file)
359
+ end
360
+
361
+ it 'can create a folder with same name and overwrite the old one' do
362
+ folder = @user1.create_folder('Folder', overwrite: true)
363
+
364
+ overwrited = RepositoryManager::RepoItem.where(id: @user1_folder.id).first
365
+ expect(overwrited).to eq(nil)
366
+ expect(folder.name).to eq("Folder")
367
+ end
368
+
369
+ it 'can create a file with same name and update the old one' do
370
+ file = @user1.create_file(File.open("#{Rails.root}/../fixture/textfile.txt"), overwrite: true)
371
+
372
+ overwrited = RepositoryManager::RepoItem.where(id: @user1_file.id).first
373
+ expect(overwrited).to eq(file)
374
+ end
375
+
376
+ it 'can create a file in folder with same name and update the old one' do
377
+ @user1.move_repo_item(@user1_file, source_folder: @user1_folder)
378
+ file = @user1.create_file(File.open("#{Rails.root}/../fixture/textfile.txt"), source_folder: @user1_folder, overwrite: true)
379
+ overwrited = RepositoryManager::RepoItem.where(id: @user1_file.id).first
380
+ expect(overwrited).to eq(file)
381
+ #expect(folder.name).to eq("Folder")
382
+ end
332
383
 
333
384
  it "can't copy a file without permission" do
334
385
  expect(@user2.copy_repo_item(@user1_file)).to eq(false)
metadata CHANGED
@@ -1,113 +1,127 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: repository-manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.8
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-10 00:00:00.000000000 Z
11
+ date: 2014-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>'
17
+ - - ">"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 3.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>'
24
+ - - ">"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 3.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: factory_girl
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 2.6.0
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 2.6.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sqlite3
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec-rails
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: 2.6.1
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: 2.6.1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: ancestry
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: carrierwave
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: 0.5.8
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: 0.5.8
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rubyzip
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: 1.0.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: 1.0.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: paper_trail
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 3.0.1
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 3.0.1
111
125
  description: This project is based on the need for a system for easily create/delete
112
126
  files and folders in a repository. For sharing these repositories easily with other
113
127
  object with a flexible and complete permissions management. Each instance (users,
@@ -120,8 +134,8 @@ executables: []
120
134
  extensions: []
121
135
  extra_rdoc_files: []
122
136
  files:
123
- - .gitignore
124
- - .rspec
137
+ - ".gitignore"
138
+ - ".rspec"
125
139
  - Gemfile
126
140
  - Gemfile.lock
127
141
  - MIT-LICENSE
@@ -133,8 +147,6 @@ files:
133
147
  - app/models/repository_manager/sharing.rb
134
148
  - app/models/repository_manager/sharings_member.rb
135
149
  - app/uploaders/repo_file_uploader.rb
136
- - config/locales/en/repository_manager.en.yml
137
- - config/locales/fr/repository_manager.fr.yml
138
150
  - db/migrate/20131018214212_create_repository_manager.rb
139
151
  - lib/generators/repository_manager/install_generator.rb
140
152
  - lib/generators/repository_manager/templates/initializer.rb
@@ -173,13 +185,14 @@ files:
173
185
  - spec/dummy/config/initializers/wrap_parameters.rb
174
186
  - spec/dummy/config/locales/en.yml
175
187
  - spec/dummy/config/routes.rb
176
- - spec/dummy/db/development.sqlite3
177
188
  - spec/dummy/db/migrate/20131016193722_create_users.rb
178
189
  - spec/dummy/db/migrate/20131016193834_create_groups.rb
179
190
  - spec/dummy/db/migrate/20131016194207_create_groups_users.rb
180
191
  - spec/dummy/db/migrate/20131018214212_create_repository_manager.rb
181
- - spec/dummy/db/schema.rb
182
- - spec/dummy/db/test.sqlite3
192
+ - spec/dummy/doc/controllers_brief.svg
193
+ - spec/dummy/doc/controllers_complete.svg
194
+ - spec/dummy/doc/models_brief.svg
195
+ - spec/dummy/doc/models_complete.svg
183
196
  - spec/dummy/log/.keep
184
197
  - spec/dummy/public/404.html
185
198
  - spec/dummy/public/422.html
@@ -207,17 +220,17 @@ require_paths:
207
220
  - lib
208
221
  required_ruby_version: !ruby/object:Gem::Requirement
209
222
  requirements:
210
- - - '>='
223
+ - - ">="
211
224
  - !ruby/object:Gem::Version
212
225
  version: '0'
213
226
  required_rubygems_version: !ruby/object:Gem::Requirement
214
227
  requirements:
215
- - - '>='
228
+ - - ">="
216
229
  - !ruby/object:Gem::Version
217
230
  version: '0'
218
231
  requirements: []
219
232
  rubyforge_project:
220
- rubygems_version: 2.2.1
233
+ rubygems_version: 2.4.1
221
234
  signing_key:
222
235
  specification_version: 4
223
236
  summary: Ruby on Rails plugin (gem) for managing repositories ( files / folders /
@@ -250,13 +263,14 @@ test_files:
250
263
  - spec/dummy/config/initializers/wrap_parameters.rb
251
264
  - spec/dummy/config/locales/en.yml
252
265
  - spec/dummy/config/routes.rb
253
- - spec/dummy/db/development.sqlite3
254
266
  - spec/dummy/db/migrate/20131016193722_create_users.rb
255
267
  - spec/dummy/db/migrate/20131016193834_create_groups.rb
256
268
  - spec/dummy/db/migrate/20131016194207_create_groups_users.rb
257
269
  - spec/dummy/db/migrate/20131018214212_create_repository_manager.rb
258
- - spec/dummy/db/schema.rb
259
- - spec/dummy/db/test.sqlite3
270
+ - spec/dummy/doc/controllers_brief.svg
271
+ - spec/dummy/doc/controllers_complete.svg
272
+ - spec/dummy/doc/models_brief.svg
273
+ - spec/dummy/doc/models_complete.svg
260
274
  - spec/dummy/log/.keep
261
275
  - spec/dummy/public/404.html
262
276
  - spec/dummy/public/422.html
@@ -1,19 +0,0 @@
1
- en:
2
- repository_manager:
3
- models:
4
- repo_folder:
5
- name: Nouveau dossier
6
- success:
7
- repo_folder:
8
- created: Le dossier a été créé avec succès !
9
- repo_file:
10
- created: Le fichier a été créé avec succès !
11
- errors:
12
- repo_folder:
13
- not_created: Erreur, le dossier n'a pas été créé !
14
- repo_file:
15
- not_created: Erreur, le fichier n'a pas été envoyé !
16
- form:
17
- new:
18
- repo_folder: Créer un dossier
19
- repo_file: Envoyer un fichier
@@ -1,19 +0,0 @@
1
- fr:
2
- repository_manager:
3
- models:
4
- repo_folder:
5
- name: Nouveau dossier
6
- success:
7
- repo_folder:
8
- created: Le dossier a été créé avec succès !
9
- repo_file:
10
- created: Le fichier a été créé avec succès !
11
- errors:
12
- repo_folder:
13
- not_created: Erreur, le dossier n'a pas été créé !
14
- repo_file:
15
- not_created: Erreur, le fichier n'a pas été envoyé !
16
- form:
17
- new:
18
- repo_folder: Créer un dossier
19
- repo_file: Envoyer un fichier
@@ -1,71 +0,0 @@
1
- # encoding: UTF-8
2
- # This file is auto-generated from the current state of the database. Instead
3
- # of editing this file, please use the migrations feature of Active Record to
4
- # incrementally modify your database, and then regenerate this schema definition.
5
- #
6
- # Note that this schema.rb definition is the authoritative source for your
7
- # database schema. If you need to create the application database on another
8
- # system, you should be using db:schema:load, not running all the migrations
9
- # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
- # you'll amass, the slower it'll run and the greater likelihood for issues).
11
- #
12
- # It's strongly recommended that you check this file into your version control system.
13
-
14
- ActiveRecord::Schema.define(version: 20131018214212) do
15
-
16
- create_table "groups", force: true do |t|
17
- t.string "name"
18
- t.text "description"
19
- t.datetime "created_at"
20
- t.datetime "updated_at"
21
- end
22
-
23
- create_table "groups_users", id: false, force: true do |t|
24
- t.integer "group_id", null: false
25
- t.integer "user_id", null: false
26
- end
27
-
28
- create_table "rm_repo_items", force: true do |t|
29
- t.integer "owner_id"
30
- t.string "owner_type"
31
- t.integer "sender_id"
32
- t.string "sender_type"
33
- t.string "ancestry"
34
- t.integer "ancestry_depth", default: 0
35
- t.string "name"
36
- t.float "file_size"
37
- t.string "content_type"
38
- t.string "file"
39
- t.string "type"
40
- end
41
-
42
- create_table "rm_sharings", force: true do |t|
43
- t.integer "owner_id"
44
- t.string "owner_type"
45
- t.integer "creator_id"
46
- t.string "creator_type"
47
- t.integer "repo_item_id"
48
- t.boolean "can_create", default: false
49
- t.boolean "can_read", default: false
50
- t.boolean "can_update", default: false
51
- t.boolean "can_delete", default: false
52
- t.boolean "can_share", default: false
53
- end
54
-
55
- create_table "rm_sharings_members", force: true do |t|
56
- t.integer "sharing_id"
57
- t.integer "member_id"
58
- t.string "member_type"
59
- t.boolean "can_add", default: false
60
- t.boolean "can_remove", default: false
61
- end
62
-
63
- create_table "users", force: true do |t|
64
- t.string "nickname"
65
- t.string "password"
66
- t.string "email"
67
- t.datetime "created_at"
68
- t.datetime "updated_at"
69
- end
70
-
71
- end