gitdocs 0.5.0 → 0.6.0

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.
Files changed (65) hide show
  1. checksums.yaml +6 -14
  2. data/.codeclimate.yml +26 -0
  3. data/.rubocop.yml +8 -2
  4. data/.travis.yml +8 -0
  5. data/CHANGELOG +13 -0
  6. data/Gemfile +1 -1
  7. data/README.md +7 -6
  8. data/Rakefile +31 -5
  9. data/bin/gitdocs +1 -0
  10. data/config.ru +6 -4
  11. data/gitdocs.gemspec +22 -19
  12. data/lib/gitdocs.rb +54 -16
  13. data/lib/gitdocs/browser_app.rb +34 -41
  14. data/lib/gitdocs/cli.rb +41 -32
  15. data/lib/gitdocs/configuration.rb +40 -101
  16. data/lib/gitdocs/git_notifier.rb +111 -0
  17. data/lib/gitdocs/initializer.rb +83 -0
  18. data/lib/gitdocs/manager.rb +90 -60
  19. data/lib/gitdocs/migration/004_add_index_for_path.rb +1 -1
  20. data/lib/gitdocs/notifier.rb +70 -104
  21. data/lib/gitdocs/rendering_helper.rb +3 -0
  22. data/lib/gitdocs/repository.rb +324 -307
  23. data/lib/gitdocs/repository/committer.rb +77 -0
  24. data/lib/gitdocs/repository/path.rb +157 -140
  25. data/lib/gitdocs/search.rb +40 -25
  26. data/lib/gitdocs/settings_app.rb +5 -3
  27. data/lib/gitdocs/share.rb +64 -0
  28. data/lib/gitdocs/synchronizer.rb +40 -0
  29. data/lib/gitdocs/version.rb +1 -1
  30. data/lib/gitdocs/views/_header.haml +2 -2
  31. data/lib/gitdocs/views/dir.haml +3 -3
  32. data/lib/gitdocs/views/edit.haml +1 -1
  33. data/lib/gitdocs/views/file.haml +1 -1
  34. data/lib/gitdocs/views/home.haml +3 -3
  35. data/lib/gitdocs/views/layout.haml +13 -13
  36. data/lib/gitdocs/views/revisions.haml +3 -3
  37. data/lib/gitdocs/views/search.haml +1 -1
  38. data/lib/gitdocs/views/settings.haml +6 -6
  39. data/test/integration/cli/full_sync_test.rb +83 -0
  40. data/test/integration/cli/share_management_test.rb +29 -0
  41. data/test/integration/cli/status_test.rb +14 -0
  42. data/test/integration/test_helper.rb +185 -151
  43. data/test/integration/{browse_test.rb → web/browse_test.rb} +11 -29
  44. data/test/integration/web/share_management_test.rb +46 -0
  45. data/test/support/git_factory.rb +276 -0
  46. data/test/unit/browser_app_test.rb +346 -0
  47. data/test/unit/configuration_test.rb +8 -70
  48. data/test/unit/git_notifier_test.rb +116 -0
  49. data/test/unit/gitdocs_test.rb +90 -0
  50. data/test/unit/manager_test.rb +36 -0
  51. data/test/unit/notifier_test.rb +60 -124
  52. data/test/unit/repository_committer_test.rb +111 -0
  53. data/test/unit/repository_path_test.rb +92 -76
  54. data/test/unit/repository_test.rb +243 -356
  55. data/test/unit/search_test.rb +15 -0
  56. data/test/unit/settings_app_test.rb +80 -0
  57. data/test/unit/share_test.rb +97 -0
  58. data/test/unit/test_helper.rb +17 -3
  59. metadata +114 -108
  60. data/lib/gitdocs/runner.rb +0 -108
  61. data/lib/gitdocs/server.rb +0 -62
  62. data/test/integration/full_sync_test.rb +0 -66
  63. data/test/integration/share_management_test.rb +0 -95
  64. data/test/integration/status_test.rb +0 -21
  65. data/test/unit/runner_test.rb +0 -122
@@ -2,6 +2,21 @@
2
2
  require File.expand_path('../test_helper', __FILE__)
3
3
 
4
4
  describe Gitdocs::Search do
5
+ describe '.search' do
6
+ subject { Gitdocs::Search.search(:term) }
7
+ before do
8
+ Gitdocs::Share.stubs(:all).returns([:share1, :share2])
9
+ Gitdocs::Repository.stubs(:new).with(:share1).returns(:repository1)
10
+ Gitdocs::Repository.stubs(:new).with(:share2).returns(:repository2)
11
+ Gitdocs::Search
12
+ .stubs(:new)
13
+ .with([:repository1, :repository2])
14
+ .returns(search = mock)
15
+ search.stubs(:search).with(:term).returns(:result)
16
+ end
17
+ it { subject.must_equal(:result) }
18
+ end
19
+
5
20
  describe 'initialize' do
6
21
  subject { Gitdocs::Search.new(:repositories) }
7
22
  it { subject.instance_variable_get(:@repositories).must_equal :repositories }
@@ -0,0 +1,80 @@
1
+ # -*- encoding : utf-8 -*-
2
+
3
+ ENV['RACK_ENV'] = 'test'
4
+ require File.expand_path('../test_helper', __FILE__)
5
+ require 'rack/test'
6
+
7
+ describe Gitdocs::SettingsApp do
8
+ include Rack::Test::Methods
9
+ def app
10
+ Gitdocs::SettingsApp
11
+ end
12
+
13
+ describe 'get /' do
14
+ before do
15
+ Gitdocs::Configuration
16
+ .stubs(:web_frontend_port)
17
+ .returns(1111)
18
+ share = stub(
19
+ id: :id,
20
+ path: :repository_path,
21
+ polling_interval: :polling_interval,
22
+ sync_type: 'full',
23
+ notification: true,
24
+ remote_name: 'remote',
25
+ branch_name: 'branch'
26
+ )
27
+ Gitdocs::Share.stubs(:all).returns([share])
28
+ Gitdocs::Repository
29
+ .stubs(:new)
30
+ .with(share)
31
+ .returns(stub(available_remotes: [:remote]))
32
+
33
+ get '/'
34
+ end
35
+ specify do
36
+ last_response.status.must_equal(200)
37
+ last_response.body.must_include('Gitdocs')
38
+ last_response.body.must_include('1111')
39
+ last_response.body.must_include('repository_path')
40
+ last_response.body.must_include('full')
41
+ last_response.body.must_include('remote')
42
+ last_response.body.must_include('branch')
43
+ end
44
+ end
45
+
46
+ describe 'post /' do
47
+ before do
48
+ Gitdocs::Configuration.expects(:update).with('config_data')
49
+ Gitdocs::Share.expects(:update_all).with('share_data')
50
+ Gitdocs::Manager.expects(:restart_synchronization)
51
+
52
+ post '/', config: 'config_data', share: 'share_data'
53
+ end
54
+
55
+ specify do
56
+ last_response.status.must_equal(302)
57
+ last_response.headers['Location'].must_equal('http://example.org/')
58
+ end
59
+ end
60
+
61
+ describe 'delete /:id' do
62
+ before do
63
+ Gitdocs::Share.expects(:remove_by_id).with(1234).returns(remove_result)
64
+ delete '/1234'
65
+ end
66
+
67
+ describe 'missing' do
68
+ let(:remove_result) { false }
69
+ specify { last_response.status.must_equal(404) }
70
+ end
71
+
72
+ describe 'exists' do
73
+ let(:remove_result) { true }
74
+ specify do
75
+ last_response.status.must_equal(302)
76
+ last_response.headers['Location'].must_equal('http://example.org/')
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,97 @@
1
+ # -*- encoding : utf-8 -*-
2
+
3
+ require File.expand_path('../test_helper', __FILE__)
4
+
5
+ describe Gitdocs::Share do
6
+ before do
7
+ ShellTools.capture { Gitdocs::Initializer.initialize_database }
8
+ end
9
+
10
+ it 'can retrieve empty shares' do
11
+ assert_equal [], Gitdocs::Share.all.to_a
12
+ end
13
+
14
+ it 'can have a path added' do
15
+ Gitdocs::Share.create_by_path!('/my/../my/path') # normalized test
16
+ assert_equal '/my/path', Gitdocs::Share.at(0).path
17
+ assert_equal 15.0, Gitdocs::Share.at(0).polling_interval
18
+ end
19
+
20
+ it 'can have a path removed' do
21
+ Gitdocs::Share.create_by_path!('/my/path')
22
+ Gitdocs::Share.create_by_path!('/my/path/2')
23
+ Gitdocs::Share.remove_by_path('/my/../my/path/2') # normalized test
24
+ assert_equal ['/my/path'], Gitdocs::Share.all.map(&:path)
25
+ end
26
+
27
+ it 'can have a share removed by id' do
28
+ Gitdocs::Share.create_by_path!('/my/path')
29
+ Gitdocs::Share.create_by_path!('/my/path/2')
30
+
31
+ # Delete an index which exists
32
+ Gitdocs::Share.remove_by_id(2).must_equal(true) # normalized test
33
+ assert_equal ['/my/path'], Gitdocs::Share.all.map(&:path)
34
+
35
+ # Try to delete an index which does not exist
36
+ Gitdocs::Share.remove_by_id(5).must_equal(false) # normalized test
37
+ assert_equal ['/my/path'], Gitdocs::Share.all.map(&:path)
38
+ end
39
+
40
+ describe '.paths' do
41
+ before do
42
+ Gitdocs::Share.create_by_path!('/my/path')
43
+ Gitdocs::Share.create_by_path!('/my/path/2')
44
+ Gitdocs::Share.create_by_path!('/my/path/3')
45
+ end
46
+
47
+ it { Gitdocs::Share.paths.must_equal(%w(/my/path /my/path/2 /my/path/3)) }
48
+ end
49
+
50
+ describe '.find_by_path' do
51
+ before do
52
+ Gitdocs::Share.create_by_path!('/my/path')
53
+ Gitdocs::Share.create_by_path!('/my/path/2')
54
+ Gitdocs::Share.create_by_path!('/my/path/3')
55
+ end
56
+
57
+ it 'finds a missing path' do
58
+ Gitdocs::Share.find_by_path('/missing/path').must_be_nil
59
+ end
60
+
61
+ it 'finds a real path' do
62
+ share = Gitdocs::Share.find_by_path('/my/path/2')
63
+ share.wont_be_nil
64
+ share.class.must_equal(Gitdocs::Share)
65
+ share.path.must_equal('/my/path/2')
66
+ end
67
+ end
68
+
69
+ describe '#update_all' do
70
+ before do
71
+ Gitdocs::Share.create_by_path!('/my/path')
72
+ Gitdocs::Share.create_by_path!('/my/path/2')
73
+ Gitdocs::Share.create_by_path!('/my/path/3')
74
+ Gitdocs::Share.create_by_path!('/my/path/4')
75
+ Gitdocs::Share.create_by_path!('/my/path/5')
76
+
77
+ Gitdocs::Share.update_all(
78
+ '0' => { 'path' => '/my/path', 'polling_interval' => 42 },
79
+ '1' => { 'path' => '/my/path/2', 'polling_interval' => 66 },
80
+ '2' => { 'path' => '/my/path/3a', 'polling_interval' => 77 },
81
+ '3' => { 'path' => '', 'polling_interval' => 88 },
82
+ '4' => { 'polling_interval' => 99 }
83
+ )
84
+ end
85
+ it { Gitdocs::Share.all.size.must_equal(5) }
86
+ it do
87
+ Gitdocs::Share.all.map(&:path).must_equal(
88
+ %w(/my/path /my/path/2 /my/path/3a /my/path/4 /my/path/5)
89
+ )
90
+ end
91
+ it do
92
+ Gitdocs::Share.all.map(&:polling_interval).must_equal(
93
+ [42, 66, 77, 15, 15]
94
+ )
95
+ end
96
+ end
97
+ end
@@ -3,8 +3,22 @@
3
3
  require 'rubygems'
4
4
  require 'minitest/autorun'
5
5
  $LOAD_PATH.unshift File.expand_path('../../lib')
6
- require 'gitdocs'
7
6
  require 'mocha/setup'
7
+ require 'shell_tools'
8
+ Dir.glob(File.expand_path('../../support/**/*.rb', __FILE__)).each do |filename|
9
+ require_relative filename
10
+ end
11
+
12
+ # Setup code coverage, first ###################################################
13
+ require 'codeclimate-test-reporter'
14
+ SimpleCov.add_filter 'test'
15
+ SimpleCov.start
16
+ CodeClimate::TestReporter.start
17
+
18
+ # Load and configure the real code #############################################
19
+ require 'gitdocs'
20
+
21
+ Gitdocs::Initializer.root_dirname = '/tmp/gitdocs'
22
+ Gitdocs::Initializer.database = ':memory:'
8
23
 
9
- require 'coveralls'
10
- Coveralls.wear!
24
+ GitFactory.working_directory = File.expand_path('../../../tmp/unit', __FILE__)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitdocs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Hull
@@ -9,36 +9,50 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-05-03 00:00:00.000000000 Z
12
+ date: 2016-06-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: joshbuddy-guard
15
+ name: celluloid
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - ~>
19
19
  - !ruby/object:Gem::Version
20
- version: 0.10.0
20
+ version: 0.16.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ~>
26
26
  - !ruby/object:Gem::Version
27
- version: 0.10.0
27
+ version: 0.16.0
28
28
  - !ruby/object:Gem::Dependency
29
- name: thin
29
+ name: reel-rack
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ~>
33
33
  - !ruby/object:Gem::Version
34
- version: 1.6.2
34
+ version: 0.2.2
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - ~>
40
40
  - !ruby/object:Gem::Version
41
- version: 1.6.2
41
+ version: 0.2.2
42
+ - !ruby/object:Gem::Dependency
43
+ name: listen
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ~>
47
+ - !ruby/object:Gem::Version
48
+ version: 3.0.5
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: 3.0.5
42
56
  - !ruby/object:Gem::Dependency
43
57
  name: sinatra
44
58
  requirement: !ruby/object:Gem::Requirement
@@ -59,28 +73,28 @@ dependencies:
59
73
  requirements:
60
74
  - - ~>
61
75
  - !ruby/object:Gem::Version
62
- version: 3.2.2
76
+ version: 3.3.0
63
77
  type: :runtime
64
78
  prerelease: false
65
79
  version_requirements: !ruby/object:Gem::Requirement
66
80
  requirements:
67
81
  - - ~>
68
82
  - !ruby/object:Gem::Version
69
- version: 3.2.2
83
+ version: 3.3.0
70
84
  - !ruby/object:Gem::Dependency
71
85
  name: thor
72
86
  requirement: !ruby/object:Gem::Requirement
73
87
  requirements:
74
88
  - - ~>
75
89
  - !ruby/object:Gem::Version
76
- version: 0.14.6
90
+ version: 0.19.1
77
91
  type: :runtime
78
92
  prerelease: false
79
93
  version_requirements: !ruby/object:Gem::Requirement
80
94
  requirements:
81
95
  - - ~>
82
96
  - !ruby/object:Gem::Version
83
- version: 0.14.6
97
+ version: 0.19.1
84
98
  - !ruby/object:Gem::Dependency
85
99
  name: coderay
86
100
  requirement: !ruby/object:Gem::Requirement
@@ -101,14 +115,14 @@ dependencies:
101
115
  requirements:
102
116
  - - ~>
103
117
  - !ruby/object:Gem::Version
104
- version: 0.1.2
118
+ version: 0.2.0
105
119
  type: :runtime
106
120
  prerelease: false
107
121
  version_requirements: !ruby/object:Gem::Requirement
108
122
  requirements:
109
123
  - - ~>
110
124
  - !ruby/object:Gem::Version
111
- version: 0.1.2
125
+ version: 0.2.0
112
126
  - !ruby/object:Gem::Dependency
113
127
  name: growl
114
128
  requirement: !ruby/object:Gem::Requirement
@@ -179,20 +193,6 @@ dependencies:
179
193
  - - ~>
180
194
  - !ruby/object:Gem::Version
181
195
  version: 2.5.0
182
- - !ruby/object:Gem::Dependency
183
- name: shell_tools
184
- requirement: !ruby/object:Gem::Requirement
185
- requirements:
186
- - - ~>
187
- - !ruby/object:Gem::Version
188
- version: 0.1.0
189
- type: :runtime
190
- prerelease: false
191
- version_requirements: !ruby/object:Gem::Requirement
192
- requirements:
193
- - - ~>
194
- - !ruby/object:Gem::Version
195
- version: 0.1.0
196
196
  - !ruby/object:Gem::Dependency
197
197
  name: mimetype-fu
198
198
  requirement: !ruby/object:Gem::Requirement
@@ -207,20 +207,6 @@ dependencies:
207
207
  - - ~>
208
208
  - !ruby/object:Gem::Version
209
209
  version: 0.1.2
210
- - !ruby/object:Gem::Dependency
211
- name: eventmachine
212
- requirement: !ruby/object:Gem::Requirement
213
- requirements:
214
- - - ! '>='
215
- - !ruby/object:Gem::Version
216
- version: 1.0.3
217
- type: :runtime
218
- prerelease: false
219
- version_requirements: !ruby/object:Gem::Requirement
220
- requirements:
221
- - - ! '>='
222
- - !ruby/object:Gem::Version
223
- version: 1.0.3
224
210
  - !ruby/object:Gem::Dependency
225
211
  name: launchy
226
212
  requirement: !ruby/object:Gem::Requirement
@@ -241,14 +227,14 @@ dependencies:
241
227
  requirements:
242
228
  - - ~>
243
229
  - !ruby/object:Gem::Version
244
- version: 0.19.0
230
+ version: 0.24.0
245
231
  type: :runtime
246
232
  prerelease: false
247
233
  version_requirements: !ruby/object:Gem::Requirement
248
234
  requirements:
249
235
  - - ~>
250
236
  - !ruby/object:Gem::Version
251
- version: 0.19.0
237
+ version: 0.24.0
252
238
  - !ruby/object:Gem::Dependency
253
239
  name: table_print
254
240
  requirement: !ruby/object:Gem::Requirement
@@ -264,145 +250,145 @@ dependencies:
264
250
  - !ruby/object:Gem::Version
265
251
  version: 1.5.1
266
252
  - !ruby/object:Gem::Dependency
267
- name: minitest
253
+ name: notiffany
268
254
  requirement: !ruby/object:Gem::Requirement
269
255
  requirements:
270
256
  - - ~>
271
257
  - !ruby/object:Gem::Version
272
- version: 5.5.0
273
- type: :development
258
+ version: 0.1.0
259
+ type: :runtime
274
260
  prerelease: false
275
261
  version_requirements: !ruby/object:Gem::Requirement
276
262
  requirements:
277
263
  - - ~>
278
264
  - !ruby/object:Gem::Version
279
- version: 5.5.0
265
+ version: 0.1.0
280
266
  - !ruby/object:Gem::Dependency
281
- name: capybara_minitest_spec
267
+ name: minitest
282
268
  requirement: !ruby/object:Gem::Requirement
283
269
  requirements:
284
270
  - - ~>
285
271
  - !ruby/object:Gem::Version
286
- version: 1.0.2
272
+ version: 5.9.0
287
273
  type: :development
288
274
  prerelease: false
289
275
  version_requirements: !ruby/object:Gem::Requirement
290
276
  requirements:
291
277
  - - ~>
292
278
  - !ruby/object:Gem::Version
293
- version: 1.0.2
279
+ version: 5.9.0
294
280
  - !ruby/object:Gem::Dependency
295
- name: poltergeist
281
+ name: capybara_minitest_spec
296
282
  requirement: !ruby/object:Gem::Requirement
297
283
  requirements:
298
284
  - - ~>
299
285
  - !ruby/object:Gem::Version
300
- version: 1.5.1
286
+ version: 1.0.2
301
287
  type: :development
302
288
  prerelease: false
303
289
  version_requirements: !ruby/object:Gem::Requirement
304
290
  requirements:
305
291
  - - ~>
306
292
  - !ruby/object:Gem::Version
307
- version: 1.5.1
293
+ version: 1.0.2
308
294
  - !ruby/object:Gem::Dependency
309
- name: rake
295
+ name: shell_tools
310
296
  requirement: !ruby/object:Gem::Requirement
311
297
  requirements:
312
- - - ! '>='
298
+ - - ~>
313
299
  - !ruby/object:Gem::Version
314
- version: '0'
300
+ version: 0.1.0
315
301
  type: :development
316
302
  prerelease: false
317
303
  version_requirements: !ruby/object:Gem::Requirement
318
304
  requirements:
319
- - - ! '>='
305
+ - - ~>
320
306
  - !ruby/object:Gem::Version
321
- version: '0'
307
+ version: 0.1.0
322
308
  - !ruby/object:Gem::Dependency
323
- name: mocha
309
+ name: poltergeist
324
310
  requirement: !ruby/object:Gem::Requirement
325
311
  requirements:
326
- - - ! '>='
312
+ - - ~>
327
313
  - !ruby/object:Gem::Version
328
- version: '0'
314
+ version: 1.7.0
329
315
  type: :development
330
316
  prerelease: false
331
317
  version_requirements: !ruby/object:Gem::Requirement
332
318
  requirements:
333
- - - ! '>='
319
+ - - ~>
334
320
  - !ruby/object:Gem::Version
335
- version: '0'
321
+ version: 1.7.0
336
322
  - !ruby/object:Gem::Dependency
337
- name: fakeweb
323
+ name: rake
338
324
  requirement: !ruby/object:Gem::Requirement
339
325
  requirements:
340
- - - ! '>='
326
+ - - ~>
341
327
  - !ruby/object:Gem::Version
342
- version: '0'
328
+ version: 11.1.2
343
329
  type: :development
344
330
  prerelease: false
345
331
  version_requirements: !ruby/object:Gem::Requirement
346
332
  requirements:
347
- - - ! '>='
333
+ - - ~>
348
334
  - !ruby/object:Gem::Version
349
- version: '0'
335
+ version: 11.1.2
350
336
  - !ruby/object:Gem::Dependency
351
- name: metric_fu
337
+ name: mocha
352
338
  requirement: !ruby/object:Gem::Requirement
353
339
  requirements:
354
- - - ! '>='
340
+ - - ~>
355
341
  - !ruby/object:Gem::Version
356
- version: '0'
342
+ version: 1.1.0
357
343
  type: :development
358
344
  prerelease: false
359
345
  version_requirements: !ruby/object:Gem::Requirement
360
346
  requirements:
361
- - - ! '>='
347
+ - - ~>
362
348
  - !ruby/object:Gem::Version
363
- version: '0'
349
+ version: 1.1.0
364
350
  - !ruby/object:Gem::Dependency
365
351
  name: aruba
366
352
  requirement: !ruby/object:Gem::Requirement
367
353
  requirements:
368
- - - ! '>='
354
+ - - ~>
369
355
  - !ruby/object:Gem::Version
370
- version: '0'
356
+ version: 0.6.1
371
357
  type: :development
372
358
  prerelease: false
373
359
  version_requirements: !ruby/object:Gem::Requirement
374
360
  requirements:
375
- - - ! '>='
361
+ - - ~>
376
362
  - !ruby/object:Gem::Version
377
- version: '0'
363
+ version: 0.6.1
378
364
  - !ruby/object:Gem::Dependency
379
365
  name: rubocop
380
366
  requirement: !ruby/object:Gem::Requirement
381
367
  requirements:
382
- - - ! '>='
368
+ - - ~>
383
369
  - !ruby/object:Gem::Version
384
- version: '0'
370
+ version: 0.40.0
385
371
  type: :development
386
372
  prerelease: false
387
373
  version_requirements: !ruby/object:Gem::Requirement
388
374
  requirements:
389
- - - ! '>='
375
+ - - ~>
390
376
  - !ruby/object:Gem::Version
391
- version: '0'
377
+ version: 0.40.0
392
378
  - !ruby/object:Gem::Dependency
393
- name: haml-lint
379
+ name: haml_lint
394
380
  requirement: !ruby/object:Gem::Requirement
395
381
  requirements:
396
382
  - - ~>
397
383
  - !ruby/object:Gem::Version
398
- version: 0.10.0
384
+ version: 0.17.1
399
385
  type: :development
400
386
  prerelease: false
401
387
  version_requirements: !ruby/object:Gem::Requirement
402
388
  requirements:
403
389
  - - ~>
404
390
  - !ruby/object:Gem::Version
405
- version: 0.10.0
391
+ version: 0.17.1
406
392
  - !ruby/object:Gem::Dependency
407
393
  name: jslint_on_rails
408
394
  requirement: !ruby/object:Gem::Requirement
@@ -418,31 +404,31 @@ dependencies:
418
404
  - !ruby/object:Gem::Version
419
405
  version: 1.1.1
420
406
  - !ruby/object:Gem::Dependency
421
- name: coveralls
407
+ name: shotgun
422
408
  requirement: !ruby/object:Gem::Requirement
423
409
  requirements:
424
- - - ! '>='
410
+ - - ~>
425
411
  - !ruby/object:Gem::Version
426
- version: '0'
412
+ version: 0.9.1
427
413
  type: :development
428
414
  prerelease: false
429
415
  version_requirements: !ruby/object:Gem::Requirement
430
416
  requirements:
431
- - - ! '>='
417
+ - - ~>
432
418
  - !ruby/object:Gem::Version
433
- version: '0'
419
+ version: 0.9.1
434
420
  - !ruby/object:Gem::Dependency
435
- name: shotgun
421
+ name: codeclimate-test-reporter
436
422
  requirement: !ruby/object:Gem::Requirement
437
423
  requirements:
438
- - - ! '>='
424
+ - - '>='
439
425
  - !ruby/object:Gem::Version
440
426
  version: '0'
441
427
  type: :development
442
428
  prerelease: false
443
429
  version_requirements: !ruby/object:Gem::Requirement
444
430
  requirements:
445
- - - ! '>='
431
+ - - '>='
446
432
  - !ruby/object:Gem::Version
447
433
  version: '0'
448
434
  description: Open-source Dropbox using Ruby and Git.
@@ -454,6 +440,7 @@ executables:
454
440
  extensions: []
455
441
  extra_rdoc_files: []
456
442
  files:
443
+ - .codeclimate.yml
457
444
  - .gitignore
458
445
  - .haml-lint.yml
459
446
  - .jslint.yml
@@ -471,6 +458,8 @@ files:
471
458
  - lib/gitdocs/browser_app.rb
472
459
  - lib/gitdocs/cli.rb
473
460
  - lib/gitdocs/configuration.rb
461
+ - lib/gitdocs/git_notifier.rb
462
+ - lib/gitdocs/initializer.rb
474
463
  - lib/gitdocs/manager.rb
475
464
  - lib/gitdocs/migration/001_create_shares.rb
476
465
  - lib/gitdocs/migration/002_add_remote_branch.rb
@@ -530,11 +519,12 @@ files:
530
519
  - lib/gitdocs/public/js/util.js
531
520
  - lib/gitdocs/rendering_helper.rb
532
521
  - lib/gitdocs/repository.rb
522
+ - lib/gitdocs/repository/committer.rb
533
523
  - lib/gitdocs/repository/path.rb
534
- - lib/gitdocs/runner.rb
535
524
  - lib/gitdocs/search.rb
536
- - lib/gitdocs/server.rb
537
525
  - lib/gitdocs/settings_app.rb
526
+ - lib/gitdocs/share.rb
527
+ - lib/gitdocs/synchronizer.rb
538
528
  - lib/gitdocs/version.rb
539
529
  - lib/gitdocs/views/_ace_scripts.erb
540
530
  - lib/gitdocs/views/_header.haml
@@ -548,17 +538,25 @@ files:
548
538
  - lib/gitdocs/views/settings.haml
549
539
  - lib/img/icon.png
550
540
  - test/.rubocop.yml
551
- - test/integration/browse_test.rb
552
- - test/integration/full_sync_test.rb
553
- - test/integration/share_management_test.rb
554
- - test/integration/status_test.rb
541
+ - test/integration/cli/full_sync_test.rb
542
+ - test/integration/cli/share_management_test.rb
543
+ - test/integration/cli/status_test.rb
555
544
  - test/integration/test_helper.rb
545
+ - test/integration/web/browse_test.rb
546
+ - test/integration/web/share_management_test.rb
547
+ - test/support/git_factory.rb
548
+ - test/unit/browser_app_test.rb
556
549
  - test/unit/configuration_test.rb
550
+ - test/unit/git_notifier_test.rb
551
+ - test/unit/gitdocs_test.rb
552
+ - test/unit/manager_test.rb
557
553
  - test/unit/notifier_test.rb
554
+ - test/unit/repository_committer_test.rb
558
555
  - test/unit/repository_path_test.rb
559
556
  - test/unit/repository_test.rb
560
- - test/unit/runner_test.rb
561
557
  - test/unit/search_test.rb
558
+ - test/unit/settings_app_test.rb
559
+ - test/unit/share_test.rb
562
560
  - test/unit/test_helper.rb
563
561
  homepage: https://github.com/nesquena/gitdocs
564
562
  licenses:
@@ -570,30 +568,38 @@ require_paths:
570
568
  - lib
571
569
  required_ruby_version: !ruby/object:Gem::Requirement
572
570
  requirements:
573
- - - ! '>='
571
+ - - '>='
574
572
  - !ruby/object:Gem::Version
575
573
  version: '1.9'
576
574
  required_rubygems_version: !ruby/object:Gem::Requirement
577
575
  requirements:
578
- - - ! '>='
576
+ - - '>='
579
577
  - !ruby/object:Gem::Version
580
578
  version: '0'
581
579
  requirements: []
582
580
  rubyforge_project: gitdocs
583
- rubygems_version: 2.0.7
581
+ rubygems_version: 2.4.8
584
582
  signing_key:
585
583
  specification_version: 4
586
584
  summary: Open-source Dropbox using Ruby and Git.
587
585
  test_files:
588
- - test/integration/browse_test.rb
589
- - test/integration/full_sync_test.rb
590
- - test/integration/share_management_test.rb
591
- - test/integration/status_test.rb
586
+ - test/integration/cli/full_sync_test.rb
587
+ - test/integration/cli/share_management_test.rb
588
+ - test/integration/cli/status_test.rb
592
589
  - test/integration/test_helper.rb
590
+ - test/integration/web/browse_test.rb
591
+ - test/integration/web/share_management_test.rb
592
+ - test/support/git_factory.rb
593
+ - test/unit/browser_app_test.rb
593
594
  - test/unit/configuration_test.rb
595
+ - test/unit/git_notifier_test.rb
596
+ - test/unit/gitdocs_test.rb
597
+ - test/unit/manager_test.rb
594
598
  - test/unit/notifier_test.rb
599
+ - test/unit/repository_committer_test.rb
595
600
  - test/unit/repository_path_test.rb
596
601
  - test/unit/repository_test.rb
597
- - test/unit/runner_test.rb
598
602
  - test/unit/search_test.rb
603
+ - test/unit/settings_app_test.rb
604
+ - test/unit/share_test.rb
599
605
  - test/unit/test_helper.rb