local_resource 0.2.0 → 1.0.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 (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