local_resource 0.2.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +103 -0
  3. data/.circleci/setup-rubygems.sh +3 -0
  4. data/.rubocop.yml +19 -579
  5. data/.ruby-version +1 -1
  6. data/CHANGELOG.md +7 -0
  7. data/Gemfile.lock +182 -136
  8. data/LICENSE.txt +1 -1
  9. data/README.md +12 -2
  10. data/lib/local_resource/version.rb +1 -1
  11. data/local_resource.gemspec +9 -5
  12. data/spec/dummy/Rakefile +1 -1
  13. data/spec/dummy/app/assets/config/manifest.js +1 -2
  14. data/spec/dummy/app/controllers/application_controller.rb +0 -1
  15. data/spec/dummy/app/{assets/javascripts → javascript/packs}/application.js +2 -0
  16. data/spec/dummy/app/jobs/application_job.rb +5 -0
  17. data/spec/dummy/app/views/layouts/application.html.erb +3 -2
  18. data/spec/dummy/bin/rails +2 -2
  19. data/spec/dummy/bin/rake +2 -2
  20. data/spec/dummy/bin/setup +7 -12
  21. data/spec/dummy/config.ru +2 -1
  22. data/spec/dummy/config/application.rb +12 -16
  23. data/spec/dummy/config/boot.rb +1 -1
  24. data/spec/dummy/config/cable.yml +2 -2
  25. data/spec/dummy/config/database.yml +8 -16
  26. data/spec/dummy/config/environment.rb +1 -1
  27. data/spec/dummy/config/environments/development.rb +28 -6
  28. data/spec/dummy/config/environments/production.rb +45 -16
  29. data/spec/dummy/config/environments/test.rb +24 -7
  30. data/spec/dummy/config/initializers/assets.rb +0 -2
  31. data/spec/dummy/config/initializers/backtrace_silencers.rb +4 -3
  32. data/spec/dummy/config/initializers/content_security_policy.rb +28 -0
  33. data/spec/dummy/config/initializers/filter_parameter_logging.rb +3 -1
  34. data/spec/dummy/config/initializers/permissions_policy.rb +11 -0
  35. data/spec/dummy/config/locales/en.yml +1 -1
  36. data/spec/dummy/config/puma.rb +14 -27
  37. data/spec/dummy/config/routes.rb +1 -1
  38. data/spec/dummy/config/storage.yml +34 -0
  39. data/spec/dummy/spec/lib/local_resource/instance_spec.rb +1 -1
  40. metadata +64 -29
  41. data/.hound.yml +0 -4
  42. data/.travis.yml +0 -15
  43. data/spec/dummy/app/assets/javascripts/cable.js +0 -13
  44. data/spec/dummy/bin/bundle +0 -3
  45. data/spec/dummy/bin/update +0 -29
  46. data/spec/dummy/bin/yarn +0 -11
  47. data/spec/dummy/config/secrets.yml +0 -32
  48. data/spec/dummy/config/spring.rb +0 -6
@@ -5,8 +5,6 @@ Rails.application.config.assets.version = '1.0'
5
5
 
6
6
  # Add additional assets to the asset load path.
7
7
  # Rails.application.config.assets.paths << Emoji.images_path
8
- # Add Yarn node_modules folder to the asset load path.
9
- Rails.application.config.assets.paths << Rails.root.join('node_modules')
10
8
 
11
9
  # Precompile additional assets.
12
10
  # application.js, application.css, and all non-JS/CSS in the app/assets
@@ -1,7 +1,8 @@
1
1
  # Be sure to restart your server when you modify this file.
2
2
 
3
3
  # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4
- # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
4
+ # Rails.backtrace_cleaner.add_silencer { |line| /my_noisy_library/.match?(line) }
5
5
 
6
- # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7
- # Rails.backtrace_cleaner.remove_silencers!
6
+ # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code
7
+ # by setting BACKTRACE=1 before calling your invocation, like "BACKTRACE=1 ./bin/rails runner 'MyClass.perform'".
8
+ Rails.backtrace_cleaner.remove_silencers! if ENV["BACKTRACE"]
@@ -0,0 +1,28 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Define an application-wide content security policy
4
+ # For further information see the following documentation
5
+ # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy
6
+
7
+ # Rails.application.config.content_security_policy do |policy|
8
+ # policy.default_src :self, :https
9
+ # policy.font_src :self, :https, :data
10
+ # policy.img_src :self, :https, :data
11
+ # policy.object_src :none
12
+ # policy.script_src :self, :https
13
+ # policy.style_src :self, :https
14
+
15
+ # # Specify URI for violation reports
16
+ # # policy.report_uri "/csp-violation-report-endpoint"
17
+ # end
18
+
19
+ # If you are using UJS then enable automatic nonce generation
20
+ # Rails.application.config.content_security_policy_nonce_generator = -> request { SecureRandom.base64(16) }
21
+
22
+ # Set the nonce only to specific directives
23
+ # Rails.application.config.content_security_policy_nonce_directives = %w(script-src)
24
+
25
+ # Report CSP violations to a specified URI
26
+ # For further information see the following documentation:
27
+ # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only
28
+ # Rails.application.config.content_security_policy_report_only = true
@@ -1,4 +1,6 @@
1
1
  # Be sure to restart your server when you modify this file.
2
2
 
3
3
  # Configure sensitive parameters which will be filtered from the log file.
4
- Rails.application.config.filter_parameters += [:password]
4
+ Rails.application.config.filter_parameters += [
5
+ :passw, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn
6
+ ]
@@ -0,0 +1,11 @@
1
+ # Define an application-wide HTTP permissions policy. For further
2
+ # information see https://developers.google.com/web/updates/2018/06/feature-policy
3
+ #
4
+ # Rails.application.config.permissions_policy do |f|
5
+ # f.camera :none
6
+ # f.gyroscope :none
7
+ # f.microphone :none
8
+ # f.usb :none
9
+ # f.fullscreen :self
10
+ # f.payment :self, "https://secure.example.com"
11
+ # end
@@ -27,7 +27,7 @@
27
27
  # 'true': 'foo'
28
28
  #
29
29
  # To learn more, please read the Rails Internationalization guide
30
- # available at http://guides.rubyonrails.org/i18n.html.
30
+ # available at https://guides.rubyonrails.org/i18n.html.
31
31
 
32
32
  en:
33
33
  hello: "Hello world"
@@ -4,19 +4,28 @@
4
4
  # the maximum value specified for Puma. Default is set to 5 threads for minimum
5
5
  # and maximum; this matches the default thread size of Active Record.
6
6
  #
7
- threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
8
- threads threads_count, threads_count
7
+ max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
8
+ min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count }
9
+ threads min_threads_count, max_threads_count
10
+
11
+ # Specifies the `worker_timeout` threshold that Puma will use to wait before
12
+ # terminating a worker in development environments.
13
+ #
14
+ worker_timeout 3600 if ENV.fetch("RAILS_ENV", "development") == "development"
9
15
 
10
16
  # Specifies the `port` that Puma will listen on to receive requests; default is 3000.
11
17
  #
12
- port ENV.fetch("PORT") { 3000 }
18
+ port ENV.fetch("PORT") { 3000 }
13
19
 
14
20
  # Specifies the `environment` that Puma will run in.
15
21
  #
16
22
  environment ENV.fetch("RAILS_ENV") { "development" }
17
23
 
24
+ # Specifies the `pidfile` that Puma will use.
25
+ pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" }
26
+
18
27
  # Specifies the number of `workers` to boot in clustered mode.
19
- # Workers are forked webserver processes. If using threads and workers together
28
+ # Workers are forked web server processes. If using threads and workers together
20
29
  # the concurrency of the application would be max `threads` * `workers`.
21
30
  # Workers do not work on JRuby or Windows (both of which do not support
22
31
  # processes).
@@ -26,31 +35,9 @@ environment ENV.fetch("RAILS_ENV") { "development" }
26
35
  # Use the `preload_app!` method when specifying a `workers` number.
27
36
  # This directive tells Puma to first boot the application and load code
28
37
  # before forking the application. This takes advantage of Copy On Write
29
- # process behavior so workers use less memory. If you use this option
30
- # you need to make sure to reconnect any threads in the `on_worker_boot`
31
- # block.
38
+ # process behavior so workers use less memory.
32
39
  #
33
40
  # preload_app!
34
41
 
35
- # If you are preloading your application and using Active Record, it's
36
- # recommended that you close any connections to the database before workers
37
- # are forked to prevent connection leakage.
38
- #
39
- # before_fork do
40
- # ActiveRecord::Base.connection_pool.disconnect! if defined?(ActiveRecord)
41
- # end
42
-
43
- # The code in the `on_worker_boot` will be called if you are using
44
- # clustered mode by specifying a number of `workers`. After each worker
45
- # process is booted, this block will be run. If you are using the `preload_app!`
46
- # option, you will want to use this block to reconnect to any threads
47
- # or connections that may have been created at application boot, as Ruby
48
- # cannot share connections between processes.
49
- #
50
- # on_worker_boot do
51
- # ActiveRecord::Base.establish_connection if defined?(ActiveRecord)
52
- # end
53
- #
54
-
55
42
  # Allow puma to be restarted by `rails restart` command.
56
43
  plugin :tmp_restart
@@ -1,3 +1,3 @@
1
1
  Rails.application.routes.draw do
2
- # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
2
+ mount LocalResource::Engine => "/local_resource"
3
3
  end
@@ -0,0 +1,34 @@
1
+ test:
2
+ service: Disk
3
+ root: <%= Rails.root.join("tmp/storage") %>
4
+
5
+ local:
6
+ service: Disk
7
+ root: <%= Rails.root.join("storage") %>
8
+
9
+ # Use rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key)
10
+ # amazon:
11
+ # service: S3
12
+ # access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %>
13
+ # secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %>
14
+ # region: us-east-1
15
+ # bucket: your_own_bucket
16
+
17
+ # Remember not to checkin your GCS keyfile to a repository
18
+ # google:
19
+ # service: GCS
20
+ # project: your_project
21
+ # credentials: <%= Rails.root.join("path/to/gcs.keyfile") %>
22
+ # bucket: your_own_bucket
23
+
24
+ # Use rails credentials:edit to set the Azure Storage secret (as azure_storage:storage_access_key)
25
+ # microsoft:
26
+ # service: AzureStorage
27
+ # storage_account_name: your_account_name
28
+ # storage_access_key: <%= Rails.application.credentials.dig(:azure_storage, :storage_access_key) %>
29
+ # container: your_container_name
30
+
31
+ # mirror:
32
+ # service: Mirror
33
+ # primary: local
34
+ # mirrors: [ amazon, google, microsoft ]
@@ -1,7 +1,7 @@
1
1
  require "rails_helper"
2
2
 
3
3
  RSpec.describe LocalResource::Instance do
4
- let(:file) { fixture_file_upload("image.png", "image/png") }
4
+ let(:file) { fixture_file_upload("spec/dummy/spec/assets/image.png") }
5
5
  let(:file_name) { "my-file.png" }
6
6
  let(:url) { "http://someurl/file.png" }
7
7
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: local_resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Platanus
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2018-06-29 00:00:00.000000000 Z
12
+ date: 2021-06-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: 4.2.0
20
+ version: '6.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: 4.2.0
27
+ version: '6.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: open_uri_redirections
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -40,7 +40,7 @@ dependencies:
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
- name: pry
43
+ name: coveralls
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - ">="
@@ -54,7 +54,7 @@ dependencies:
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
- name: pry-rails
57
+ name: factory_bot_rails
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - ">="
@@ -68,7 +68,7 @@ dependencies:
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  - !ruby/object:Gem::Dependency
71
- name: sqlite3
71
+ name: guard-rspec
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - ">="
@@ -82,7 +82,7 @@ dependencies:
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  - !ruby/object:Gem::Dependency
85
- name: rspec-rails
85
+ name: pry
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - ">="
@@ -96,7 +96,7 @@ dependencies:
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  - !ruby/object:Gem::Dependency
99
- name: guard-rspec
99
+ name: pry-rails
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - ">="
@@ -110,7 +110,7 @@ dependencies:
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  - !ruby/object:Gem::Dependency
113
- name: factory_bot_rails
113
+ name: rspec-rails
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - ">="
@@ -124,7 +124,7 @@ dependencies:
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  - !ruby/object:Gem::Dependency
127
- name: coveralls
127
+ name: rspec_junit_formatter
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - ">="
@@ -137,6 +137,48 @@ dependencies:
137
137
  - - ">="
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: rubocop
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - '='
145
+ - !ruby/object:Gem::Version
146
+ version: 0.65.0
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - '='
152
+ - !ruby/object:Gem::Version
153
+ version: 0.65.0
154
+ - !ruby/object:Gem::Dependency
155
+ name: rubocop-rspec
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ - !ruby/object:Gem::Dependency
169
+ name: sqlite3
170
+ requirement: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - "~>"
173
+ - !ruby/object:Gem::Version
174
+ version: 1.4.2
175
+ type: :development
176
+ prerelease: false
177
+ version_requirements: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - "~>"
180
+ - !ruby/object:Gem::Version
181
+ version: 1.4.2
140
182
  description: Rails engine to treat external resources as if they were local
141
183
  email:
142
184
  - rubygems@platan.us
@@ -145,13 +187,13 @@ executables: []
145
187
  extensions: []
146
188
  extra_rdoc_files: []
147
189
  files:
190
+ - ".circleci/config.yml"
191
+ - ".circleci/setup-rubygems.sh"
148
192
  - ".coveralls.yml"
149
193
  - ".gitignore"
150
- - ".hound.yml"
151
194
  - ".rspec"
152
195
  - ".rubocop.yml"
153
196
  - ".ruby-version"
154
- - ".travis.yml"
155
197
  - CHANGELOG.md
156
198
  - Gemfile
157
199
  - Gemfile.lock
@@ -168,25 +210,21 @@ files:
168
210
  - local_resource.gemspec
169
211
  - spec/dummy/Rakefile
170
212
  - spec/dummy/app/assets/config/manifest.js
171
- - spec/dummy/app/assets/javascripts/application.js
172
- - spec/dummy/app/assets/javascripts/cable.js
173
213
  - spec/dummy/app/assets/stylesheets/application.css
174
214
  - spec/dummy/app/channels/application_cable/channel.rb
175
215
  - spec/dummy/app/channels/application_cable/connection.rb
176
216
  - spec/dummy/app/controllers/application_controller.rb
177
217
  - spec/dummy/app/helpers/application_helper.rb
218
+ - spec/dummy/app/javascript/packs/application.js
178
219
  - spec/dummy/app/jobs/application_job.rb
179
220
  - spec/dummy/app/mailers/application_mailer.rb
180
221
  - spec/dummy/app/models/application_record.rb
181
222
  - spec/dummy/app/views/layouts/application.html.erb
182
223
  - spec/dummy/app/views/layouts/mailer.html.erb
183
224
  - spec/dummy/app/views/layouts/mailer.text.erb
184
- - spec/dummy/bin/bundle
185
225
  - spec/dummy/bin/rails
186
226
  - spec/dummy/bin/rake
187
227
  - spec/dummy/bin/setup
188
- - spec/dummy/bin/update
189
- - spec/dummy/bin/yarn
190
228
  - spec/dummy/config.ru
191
229
  - spec/dummy/config/application.rb
192
230
  - spec/dummy/config/boot.rb
@@ -199,16 +237,17 @@ files:
199
237
  - spec/dummy/config/initializers/application_controller_renderer.rb
200
238
  - spec/dummy/config/initializers/assets.rb
201
239
  - spec/dummy/config/initializers/backtrace_silencers.rb
240
+ - spec/dummy/config/initializers/content_security_policy.rb
202
241
  - spec/dummy/config/initializers/cookies_serializer.rb
203
242
  - spec/dummy/config/initializers/filter_parameter_logging.rb
204
243
  - spec/dummy/config/initializers/inflections.rb
205
244
  - spec/dummy/config/initializers/mime_types.rb
245
+ - spec/dummy/config/initializers/permissions_policy.rb
206
246
  - spec/dummy/config/initializers/wrap_parameters.rb
207
247
  - spec/dummy/config/locales/en.yml
208
248
  - spec/dummy/config/puma.rb
209
249
  - spec/dummy/config/routes.rb
210
- - spec/dummy/config/secrets.yml
211
- - spec/dummy/config/spring.rb
250
+ - spec/dummy/config/storage.yml
212
251
  - spec/dummy/db/schema.rb
213
252
  - spec/dummy/package.json
214
253
  - spec/dummy/public/404.html
@@ -242,33 +281,28 @@ required_rubygems_version: !ruby/object:Gem::Requirement
242
281
  - !ruby/object:Gem::Version
243
282
  version: '0'
244
283
  requirements: []
245
- rubyforge_project:
246
- rubygems_version: 2.7.7
284
+ rubygems_version: 3.1.6
247
285
  signing_key:
248
286
  specification_version: 4
249
287
  summary: Engine to treat external resources as if they were local
250
288
  test_files:
251
289
  - spec/dummy/Rakefile
252
290
  - spec/dummy/app/assets/config/manifest.js
253
- - spec/dummy/app/assets/javascripts/application.js
254
- - spec/dummy/app/assets/javascripts/cable.js
255
291
  - spec/dummy/app/assets/stylesheets/application.css
256
292
  - spec/dummy/app/channels/application_cable/channel.rb
257
293
  - spec/dummy/app/channels/application_cable/connection.rb
258
294
  - spec/dummy/app/controllers/application_controller.rb
259
295
  - spec/dummy/app/helpers/application_helper.rb
296
+ - spec/dummy/app/javascript/packs/application.js
260
297
  - spec/dummy/app/jobs/application_job.rb
261
298
  - spec/dummy/app/mailers/application_mailer.rb
262
299
  - spec/dummy/app/models/application_record.rb
263
300
  - spec/dummy/app/views/layouts/application.html.erb
264
301
  - spec/dummy/app/views/layouts/mailer.html.erb
265
302
  - spec/dummy/app/views/layouts/mailer.text.erb
266
- - spec/dummy/bin/bundle
267
303
  - spec/dummy/bin/rails
268
304
  - spec/dummy/bin/rake
269
305
  - spec/dummy/bin/setup
270
- - spec/dummy/bin/update
271
- - spec/dummy/bin/yarn
272
306
  - spec/dummy/config.ru
273
307
  - spec/dummy/config/application.rb
274
308
  - spec/dummy/config/boot.rb
@@ -281,16 +315,17 @@ test_files:
281
315
  - spec/dummy/config/initializers/application_controller_renderer.rb
282
316
  - spec/dummy/config/initializers/assets.rb
283
317
  - spec/dummy/config/initializers/backtrace_silencers.rb
318
+ - spec/dummy/config/initializers/content_security_policy.rb
284
319
  - spec/dummy/config/initializers/cookies_serializer.rb
285
320
  - spec/dummy/config/initializers/filter_parameter_logging.rb
286
321
  - spec/dummy/config/initializers/inflections.rb
287
322
  - spec/dummy/config/initializers/mime_types.rb
323
+ - spec/dummy/config/initializers/permissions_policy.rb
288
324
  - spec/dummy/config/initializers/wrap_parameters.rb
289
325
  - spec/dummy/config/locales/en.yml
290
326
  - spec/dummy/config/puma.rb
291
327
  - spec/dummy/config/routes.rb
292
- - spec/dummy/config/secrets.yml
293
- - spec/dummy/config/spring.rb
328
+ - spec/dummy/config/storage.yml
294
329
  - spec/dummy/db/schema.rb
295
330
  - spec/dummy/package.json
296
331
  - spec/dummy/public/404.html