browse-everything 1.1.0 → 1.1.1
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/.circleci/config.yml +37 -15
- data/.rubocop.yml +43 -35
- data/Gemfile +3 -6
- data/README.md +1 -0
- data/app/assets/javascripts/browse_everything/behavior.js +16 -8
- data/app/assets/javascripts/treetable.webpack.js +687 -0
- data/app/controllers/browse_everything_controller.rb +60 -60
- data/app/helpers/browse_everything_helper.rb +4 -0
- data/app/views/browse_everything/_files.html.erb +3 -2
- data/browse-everything.gemspec +2 -2
- data/lib/browse_everything/auth/google/credentials.rb +5 -5
- data/lib/browse_everything/auth/google/request_parameters.rb +38 -38
- data/lib/browse_everything/driver/base.rb +14 -14
- data/lib/browse_everything/driver/box.rb +56 -56
- data/lib/browse_everything/driver/dropbox.rb +39 -39
- data/lib/browse_everything/driver/file_system.rb +17 -17
- data/lib/browse_everything/driver/google_drive.rb +38 -38
- data/lib/browse_everything/driver/s3.rb +61 -61
- data/lib/browse_everything/file_entry.rb +1 -1
- data/lib/browse_everything/retriever.rb +69 -69
- data/lib/browse_everything/version.rb +1 -1
- data/spec/features/test_compiling_stylesheets_spec.rb +1 -1
- data/spec/lib/browse_everything/driver_spec.rb +43 -3
- data/spec/spec_helper.rb +1 -1
- data/spec/test_app_templates/Gemfile.extra +9 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +54 -3
- metadata +13 -12
@@ -15,9 +15,49 @@ describe BrowseEverything::Driver do
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
after do
|
19
|
+
Object.send(:remove_const, :MyDriver)
|
20
|
+
end
|
21
|
+
|
22
|
+
describe '#default_sorter' do
|
23
|
+
let(:file1) do
|
24
|
+
instance_double(BrowseEverything::FileEntry)
|
25
|
+
end
|
26
|
+
let(:file2) do
|
27
|
+
instance_double(BrowseEverything::FileEntry)
|
28
|
+
end
|
29
|
+
let(:file3) do
|
30
|
+
instance_double(BrowseEverything::FileEntry)
|
31
|
+
end
|
32
|
+
let(:files) do
|
33
|
+
[
|
34
|
+
file1,
|
35
|
+
file2,
|
36
|
+
file3
|
37
|
+
]
|
38
|
+
end
|
39
|
+
|
40
|
+
before do
|
41
|
+
class MyNewDriver < BrowseEverything::Driver::Base; end
|
42
|
+
|
43
|
+
allow(file1).to receive(:container?).and_return(false)
|
44
|
+
allow(file1).to receive(:name).and_return('test file1')
|
45
|
+
allow(file2).to receive(:container?).and_return(false)
|
46
|
+
allow(file2).to receive(:name).and_return('test file2')
|
47
|
+
allow(file3).to receive(:container?).and_return(true)
|
48
|
+
allow(file3).to receive(:name).and_return('test container1')
|
49
|
+
end
|
50
|
+
after do
|
51
|
+
Object.send(:remove_const, :MyNewDriver)
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'defaults to proc which sorts by containers' do
|
55
|
+
expect(MyNewDriver.default_sorter).to be_a(Proc)
|
56
|
+
|
57
|
+
results = MyNewDriver.default_sorter.call(files)
|
58
|
+
expect(results.first.name).to eq file3.name
|
59
|
+
expect(results[1].name).to eq file1.name
|
60
|
+
expect(results.last.name).to eq file2.name
|
21
61
|
end
|
22
62
|
end
|
23
63
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,15 @@
|
|
1
1
|
gem 'jquery-rails'
|
2
2
|
gem 'puma-rails'
|
3
3
|
|
4
|
+
if ENV['RAILS_VERSION']
|
5
|
+
case ENV['RAILS_VERSION']
|
6
|
+
when /6\./
|
7
|
+
gem 'webpacker', '~> 4.0'
|
8
|
+
when /5\./
|
9
|
+
gem 'webpacker', '~> 4.0'
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
4
13
|
if ENV['TEST_BOOTSTRAP'] == "3"
|
5
14
|
gem "bootstrap-sass"
|
6
15
|
else
|
@@ -28,11 +28,62 @@ class TestAppGenerator < Rails::Generators::Base
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def inject_javascript
|
31
|
-
|
32
|
-
|
31
|
+
if /^6\./.match?(Rails.version)
|
32
|
+
# Both jQuery and Twitter Bootstrap 3.x need to be added for legacy JavaScript
|
33
|
+
system('yarn add jquery@3.3.1')
|
34
|
+
system('yarn add bootstrap@3.4.1')
|
35
|
+
system('yarn install')
|
36
|
+
|
37
|
+
# Adding the JavaScript module dependencies
|
38
|
+
insert_into_file 'app/javascript/packs/application.js', after: 'require("channels")' do
|
39
|
+
%(
|
40
|
+
require("jquery")
|
41
|
+
require("bootstrap")
|
42
|
+
)
|
43
|
+
end
|
44
|
+
|
45
|
+
# Here the JavaScript needs to be injected for Webpacker
|
46
|
+
insert_into_file 'config/webpack/environment.js', after: "const { environment } = require('@rails/webpacker')" do
|
47
|
+
%(
|
48
|
+
const webpack = require('webpack')
|
49
|
+
|
50
|
+
environment.plugins.prepend('Provide',
|
51
|
+
new webpack.ProvidePlugin({
|
52
|
+
$: 'jquery/src/jquery',
|
53
|
+
jQuery: 'jquery/src/jquery'
|
54
|
+
})
|
55
|
+
)
|
56
|
+
)
|
57
|
+
end
|
58
|
+
|
59
|
+
# Copy the TreeTable JavaScript
|
60
|
+
copy_file('../../app/assets/javascripts/treetable.webpack.js', 'app/javascript/packs/treetable.js')
|
61
|
+
|
62
|
+
# Copy the browse_everything JavaScript
|
63
|
+
copy_file('../../app/assets/javascripts/browse_everything/behavior.js', 'app/javascript/packs/browse-everything.js')
|
64
|
+
|
65
|
+
# Adding the JavaScript module dependencies
|
66
|
+
insert_into_file 'app/javascript/packs/browse-everything.js', before: "'use strict';" do
|
67
|
+
%(
|
68
|
+
require("bootstrap")
|
69
|
+
require("./treetable")
|
70
|
+
)
|
71
|
+
end
|
72
|
+
|
73
|
+
# Load the new packs into the view
|
74
|
+
insert_into_file 'app/views/layouts/application.html.erb', before: '</head>' do
|
75
|
+
%(
|
76
|
+
<%= javascript_pack_tag 'treetable', 'data-turbolinks-track': 'reload' %>
|
77
|
+
<%= javascript_pack_tag 'browse-everything', 'data-turbolinks-track': 'reload' %>
|
78
|
+
)
|
79
|
+
end
|
80
|
+
else
|
81
|
+
insert_into_file 'app/assets/javascripts/application.js', after: '//= require_tree .' do
|
82
|
+
%(
|
33
83
|
//= require jquery
|
34
84
|
//= require browse_everything
|
35
|
-
|
85
|
+
)
|
86
|
+
end
|
36
87
|
end
|
37
88
|
end
|
38
89
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: browse-everything
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carolyn Cole
|
@@ -10,10 +10,10 @@ authors:
|
|
10
10
|
- Thomas Scherz
|
11
11
|
- Xiaoming Wang
|
12
12
|
- Jeremy Friesen
|
13
|
-
autorequire:
|
13
|
+
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2020-
|
16
|
+
date: 2020-11-17 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: addressable
|
@@ -120,7 +120,7 @@ dependencies:
|
|
120
120
|
version: '4.2'
|
121
121
|
- - "<"
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: '
|
123
|
+
version: '7.0'
|
124
124
|
type: :runtime
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -130,7 +130,7 @@ dependencies:
|
|
130
130
|
version: '4.2'
|
131
131
|
- - "<"
|
132
132
|
- !ruby/object:Gem::Version
|
133
|
-
version: '
|
133
|
+
version: '7.0'
|
134
134
|
- !ruby/object:Gem::Dependency
|
135
135
|
name: ruby-box
|
136
136
|
requirement: !ruby/object:Gem::Requirement
|
@@ -191,16 +191,16 @@ dependencies:
|
|
191
191
|
name: bixby
|
192
192
|
requirement: !ruby/object:Gem::Requirement
|
193
193
|
requirements:
|
194
|
-
- - "
|
194
|
+
- - "~>"
|
195
195
|
- !ruby/object:Gem::Version
|
196
|
-
version: '
|
196
|
+
version: '3.0'
|
197
197
|
type: :development
|
198
198
|
prerelease: false
|
199
199
|
version_requirements: !ruby/object:Gem::Requirement
|
200
200
|
requirements:
|
201
|
-
- - "
|
201
|
+
- - "~>"
|
202
202
|
- !ruby/object:Gem::Version
|
203
|
-
version: '
|
203
|
+
version: '3.0'
|
204
204
|
- !ruby/object:Gem::Dependency
|
205
205
|
name: bundler
|
206
206
|
requirement: !ruby/object:Gem::Requirement
|
@@ -495,6 +495,7 @@ files:
|
|
495
495
|
- SUPPORT.md
|
496
496
|
- app/assets/javascripts/browse_everything.js
|
497
497
|
- app/assets/javascripts/browse_everything/behavior.js
|
498
|
+
- app/assets/javascripts/treetable.webpack.js
|
498
499
|
- app/assets/stylesheets/browse_everything.scss
|
499
500
|
- app/assets/stylesheets/browse_everything/_browse_everything.scss
|
500
501
|
- app/assets/stylesheets/browse_everything/_browse_everything_bootstrap3.scss
|
@@ -582,7 +583,7 @@ homepage: https://github.com/projecthydra/browse-everything
|
|
582
583
|
licenses:
|
583
584
|
- Apache 2
|
584
585
|
metadata: {}
|
585
|
-
post_install_message:
|
586
|
+
post_install_message:
|
586
587
|
rdoc_options: []
|
587
588
|
require_paths:
|
588
589
|
- lib
|
@@ -597,8 +598,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
597
598
|
- !ruby/object:Gem::Version
|
598
599
|
version: '0'
|
599
600
|
requirements: []
|
600
|
-
rubygems_version: 3.
|
601
|
-
signing_key:
|
601
|
+
rubygems_version: 3.0.3
|
602
|
+
signing_key:
|
602
603
|
specification_version: 4
|
603
604
|
summary: AJAX/Rails engine file browser for cloud storage services
|
604
605
|
test_files:
|