activestorage_legacy 0.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.
Files changed (136) hide show
  1. checksums.yaml +7 -0
  2. data/.babelrc +5 -0
  3. data/.codeclimate.yml +7 -0
  4. data/.eslintrc +19 -0
  5. data/.github/workflows/gem-push.yml +29 -0
  6. data/.github/workflows/ruby-tests.yml +37 -0
  7. data/.gitignore +9 -0
  8. data/.rubocop.yml +125 -0
  9. data/.travis.yml +25 -0
  10. data/Gemfile +33 -0
  11. data/Gemfile.lock +271 -0
  12. data/MIT-LICENSE +20 -0
  13. data/README.md +160 -0
  14. data/Rakefile +12 -0
  15. data/activestorage.gemspec +27 -0
  16. data/app/assets/javascripts/activestorage.js +1 -0
  17. data/app/controllers/active_storage/blobs_controller.rb +22 -0
  18. data/app/controllers/active_storage/direct_uploads_controller.rb +21 -0
  19. data/app/controllers/active_storage/disk_controller.rb +52 -0
  20. data/app/controllers/active_storage/variants_controller.rb +28 -0
  21. data/app/helpers/active_storage/file_field_with_direct_upload_helper.rb +18 -0
  22. data/app/javascript/activestorage/blob_record.js +54 -0
  23. data/app/javascript/activestorage/blob_upload.js +34 -0
  24. data/app/javascript/activestorage/direct_upload.js +42 -0
  25. data/app/javascript/activestorage/direct_upload_controller.js +67 -0
  26. data/app/javascript/activestorage/direct_uploads_controller.js +50 -0
  27. data/app/javascript/activestorage/file_checksum.js +53 -0
  28. data/app/javascript/activestorage/helpers.js +42 -0
  29. data/app/javascript/activestorage/index.js +11 -0
  30. data/app/javascript/activestorage/ujs.js +74 -0
  31. data/app/jobs/active_storage/purge_attachment_worker.rb +9 -0
  32. data/app/jobs/active_storage/purge_blob_worker.rb +9 -0
  33. data/app/models/active_storage/attachment.rb +33 -0
  34. data/app/models/active_storage/blob.rb +198 -0
  35. data/app/models/active_storage/filename.rb +49 -0
  36. data/app/models/active_storage/variant.rb +82 -0
  37. data/app/models/active_storage/variation.rb +53 -0
  38. data/config/routes.rb +9 -0
  39. data/config/storage_services.yml +34 -0
  40. data/lib/active_storage/attached/macros.rb +86 -0
  41. data/lib/active_storage/attached/many.rb +51 -0
  42. data/lib/active_storage/attached/one.rb +56 -0
  43. data/lib/active_storage/attached.rb +38 -0
  44. data/lib/active_storage/engine.rb +81 -0
  45. data/lib/active_storage/gem_version.rb +15 -0
  46. data/lib/active_storage/log_subscriber.rb +48 -0
  47. data/lib/active_storage/messages_metadata.rb +64 -0
  48. data/lib/active_storage/migration.rb +27 -0
  49. data/lib/active_storage/patches/active_record.rb +19 -0
  50. data/lib/active_storage/patches/delegation.rb +98 -0
  51. data/lib/active_storage/patches/secure_random.rb +26 -0
  52. data/lib/active_storage/patches.rb +4 -0
  53. data/lib/active_storage/service/azure_service.rb +115 -0
  54. data/lib/active_storage/service/configurator.rb +28 -0
  55. data/lib/active_storage/service/disk_service.rb +124 -0
  56. data/lib/active_storage/service/gcs_service.rb +79 -0
  57. data/lib/active_storage/service/mirror_service.rb +46 -0
  58. data/lib/active_storage/service/s3_service.rb +96 -0
  59. data/lib/active_storage/service.rb +113 -0
  60. data/lib/active_storage/verifier.rb +113 -0
  61. data/lib/active_storage/version.rb +8 -0
  62. data/lib/active_storage.rb +34 -0
  63. data/lib/tasks/activestorage.rake +20 -0
  64. data/package.json +33 -0
  65. data/test/controllers/direct_uploads_controller_test.rb +123 -0
  66. data/test/controllers/disk_controller_test.rb +57 -0
  67. data/test/controllers/variants_controller_test.rb +21 -0
  68. data/test/database/create_users_migration.rb +7 -0
  69. data/test/database/setup.rb +6 -0
  70. data/test/dummy/Rakefile +3 -0
  71. data/test/dummy/app/assets/config/manifest.js +5 -0
  72. data/test/dummy/app/assets/images/.keep +0 -0
  73. data/test/dummy/app/assets/javascripts/application.js +13 -0
  74. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  75. data/test/dummy/app/controllers/application_controller.rb +3 -0
  76. data/test/dummy/app/controllers/concerns/.keep +0 -0
  77. data/test/dummy/app/helpers/application_helper.rb +2 -0
  78. data/test/dummy/app/jobs/application_job.rb +2 -0
  79. data/test/dummy/app/models/application_record.rb +3 -0
  80. data/test/dummy/app/models/concerns/.keep +0 -0
  81. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  82. data/test/dummy/bin/bundle +3 -0
  83. data/test/dummy/bin/rails +4 -0
  84. data/test/dummy/bin/rake +4 -0
  85. data/test/dummy/bin/yarn +11 -0
  86. data/test/dummy/config/application.rb +22 -0
  87. data/test/dummy/config/boot.rb +5 -0
  88. data/test/dummy/config/database.yml +25 -0
  89. data/test/dummy/config/environment.rb +5 -0
  90. data/test/dummy/config/environments/development.rb +49 -0
  91. data/test/dummy/config/environments/production.rb +82 -0
  92. data/test/dummy/config/environments/test.rb +33 -0
  93. data/test/dummy/config/initializers/application_controller_renderer.rb +6 -0
  94. data/test/dummy/config/initializers/assets.rb +14 -0
  95. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  96. data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  97. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  98. data/test/dummy/config/initializers/inflections.rb +16 -0
  99. data/test/dummy/config/initializers/mime_types.rb +4 -0
  100. data/test/dummy/config/initializers/secret_key.rb +3 -0
  101. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  102. data/test/dummy/config/routes.rb +2 -0
  103. data/test/dummy/config/secrets.yml +32 -0
  104. data/test/dummy/config/spring.rb +6 -0
  105. data/test/dummy/config/storage_services.yml +3 -0
  106. data/test/dummy/config.ru +5 -0
  107. data/test/dummy/db/.keep +0 -0
  108. data/test/dummy/lib/assets/.keep +0 -0
  109. data/test/dummy/log/.keep +0 -0
  110. data/test/dummy/package.json +5 -0
  111. data/test/dummy/public/404.html +67 -0
  112. data/test/dummy/public/422.html +67 -0
  113. data/test/dummy/public/500.html +66 -0
  114. data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
  115. data/test/dummy/public/apple-touch-icon.png +0 -0
  116. data/test/dummy/public/favicon.ico +0 -0
  117. data/test/filename_test.rb +36 -0
  118. data/test/fixtures/files/racecar.jpg +0 -0
  119. data/test/models/attachments_test.rb +122 -0
  120. data/test/models/blob_test.rb +47 -0
  121. data/test/models/variant_test.rb +27 -0
  122. data/test/service/.gitignore +1 -0
  123. data/test/service/azure_service_test.rb +14 -0
  124. data/test/service/configurations-example.yml +31 -0
  125. data/test/service/configurator_test.rb +14 -0
  126. data/test/service/disk_service_test.rb +12 -0
  127. data/test/service/gcs_service_test.rb +42 -0
  128. data/test/service/mirror_service_test.rb +62 -0
  129. data/test/service/s3_service_test.rb +52 -0
  130. data/test/service/shared_service_tests.rb +66 -0
  131. data/test/sidekiq/minitest_support.rb +6 -0
  132. data/test/support/assertions.rb +20 -0
  133. data/test/test_helper.rb +69 -0
  134. data/webpack.config.js +27 -0
  135. data/yarn.lock +3164 -0
  136. metadata +330 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 641d8ce0e8c7828cdd8ccd3b41f5994d75698e46
4
+ data.tar.gz: 66f621576457137902df0a1817f9909040f02e01
5
+ SHA512:
6
+ metadata.gz: db0f82ec409b926125cc67609bd0c6e644d246a0ed07a2327b7c84bc80a24f39a3f4ce1ce7dd3384ab9b7ac692f2b9d37b1bea9ecce16e68d03aa2ad3f38d6a6
7
+ data.tar.gz: ede2c0c22ab30843eb579ce988c9781962886effebde370853b9e109107ab06936325405ae8446873427ab6aa036cbb95ac67f6db4f7cada53e8cb58ee7cbd5f
data/.babelrc ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "presets": [
3
+ ["env", { "modules": false } ]
4
+ ]
5
+ }
data/.codeclimate.yml ADDED
@@ -0,0 +1,7 @@
1
+ engines:
2
+ rubocop:
3
+ enabled: true
4
+
5
+ ratings:
6
+ paths:
7
+ - "**.rb"
data/.eslintrc ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "extends": "eslint:recommended",
3
+ "rules": {
4
+ "semi": ["error", "never"],
5
+ "quotes": ["error", "double"],
6
+ "no-unused-vars": ["error", { "vars": "all", "args": "none" }]
7
+ },
8
+ "plugins": [
9
+ "import"
10
+ ],
11
+ "env": {
12
+ "browser": true,
13
+ "es6": true
14
+ },
15
+ "parserOptions": {
16
+ "ecmaVersion": 6,
17
+ "sourceType": "module"
18
+ }
19
+ }
@@ -0,0 +1,29 @@
1
+ name: Ruby Gem
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ push:
6
+ branches: [ main ]
7
+
8
+ jobs:
9
+ build:
10
+ name: Build + Publish
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - uses: actions/checkout@v3
15
+ - name: Set up Ruby 2.3.8
16
+ uses: ruby/setup-ruby@ec02537da5712d66d4d50a0f33b7eb52773b5ed1
17
+ with:
18
+ ruby-version: 2.3.8
19
+ bundler-cache: true
20
+ - name: Publish to RubyGems
21
+ run: |
22
+ mkdir -p $HOME/.gem
23
+ touch $HOME/.gem/credentials
24
+ chmod 0600 $HOME/.gem/credentials
25
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
26
+ gem build *.gemspec
27
+ gem push *.gem
28
+ env:
29
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
@@ -0,0 +1,37 @@
1
+ name: Run tests
2
+
3
+ on:
4
+ push:
5
+ branches: [ "main" ]
6
+ pull_request:
7
+ branches: [ "main" ]
8
+
9
+ jobs:
10
+ build:
11
+ name: Build + Publish
12
+ runs-on: ubuntu-latest
13
+ permissions:
14
+ contents: read
15
+ packages: write
16
+
17
+ steps:
18
+ - uses: actions/checkout@v3
19
+ - name: Set up Ruby 2.3.8
20
+ uses: ruby/setup-ruby@ec02537da5712d66d4d50a0f33b7eb52773b5ed1
21
+ with:
22
+ ruby-version: 2.3.8
23
+ bundler-cache: true
24
+ - name: Install dependencies
25
+ run: bundle install
26
+ - name: Setup Code Climate test-reporter
27
+ run: |
28
+ curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
29
+ chmod +x ./cc-test-reporter
30
+ ./cc-test-reporter before-build
31
+ - name: Run tests
32
+ run: bundle exec rake
33
+ - name: Publish code coverage
34
+ if: github.ref_name == 'main'
35
+ run: |
36
+ export GIT_BRANCH="${GITHUB_REF/refs\/heads\//}"
37
+ ./cc-test-reporter after-build -r ${{secrets.CC_TEST_REPORTER_ID}}
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ .byebug_history
2
+ /node_modules
3
+ test/dummy/db/*.sqlite3
4
+ test/dummy/db/*.sqlite3-journal
5
+ test/dummy/log/*.log
6
+ test/dummy/tmp/
7
+
8
+ .idea
9
+ coverage
data/.rubocop.yml ADDED
@@ -0,0 +1,125 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.3
3
+ # RuboCop has a bunch of cops enabled by default. This setting tells RuboCop
4
+ # to ignore them, so only the ones explicitly set in this file are enabled.
5
+ DisabledByDefault: true
6
+ Exclude:
7
+ - '**/templates/**/*'
8
+ - '**/vendor/**/*'
9
+ - 'actionpack/lib/action_dispatch/journey/parser.rb'
10
+
11
+ # Align `when` with `case`.
12
+ Layout/CaseIndentation:
13
+ Enabled: true
14
+
15
+ # Align comments with method definitions.
16
+ Layout/CommentIndentation:
17
+ Enabled: true
18
+
19
+ # No extra empty lines.
20
+ Layout/EmptyLines:
21
+ Enabled: false
22
+
23
+ # In a regular class definition, no empty lines around the body.
24
+ Layout/EmptyLinesAroundClassBody:
25
+ Enabled: true
26
+
27
+ # In a regular method definition, no empty lines around the body.
28
+ Layout/EmptyLinesAroundMethodBody:
29
+ Enabled: true
30
+
31
+ # In a regular module definition, no empty lines around the body.
32
+ Layout/EmptyLinesAroundModuleBody:
33
+ Enabled: true
34
+
35
+ # Method definitions after `private` or `protected` isolated calls need one
36
+ # extra level of indentation.
37
+ Layout/IndentationConsistency:
38
+ Enabled: true
39
+ EnforcedStyle: rails
40
+
41
+ # Two spaces, no tabs (for indentation).
42
+ Layout/IndentationWidth:
43
+ Enabled: true
44
+
45
+ Layout/SpaceAfterColon:
46
+ Enabled: true
47
+
48
+ Layout/SpaceAfterComma:
49
+ Enabled: true
50
+
51
+ Layout/SpaceAroundEqualsInParameterDefault:
52
+ Enabled: true
53
+
54
+ Layout/SpaceAroundKeyword:
55
+ Enabled: true
56
+
57
+ Layout/SpaceAroundOperators:
58
+ Enabled: true
59
+
60
+ Layout/SpaceBeforeFirstArg:
61
+ Enabled: true
62
+
63
+ # Use `foo {}` not `foo{}`.
64
+ Layout/SpaceBeforeBlockBraces:
65
+ Enabled: true
66
+
67
+ # Use `foo { bar }` not `foo {bar}`.
68
+ Layout/SpaceInsideBlockBraces:
69
+ Enabled: true
70
+
71
+ # Use `{ a: 1 }` not `{a:1}`.
72
+ Layout/SpaceInsideHashLiteralBraces:
73
+ Enabled: true
74
+
75
+ Layout/SpaceInsideParens:
76
+ Enabled: true
77
+
78
+ # Detect hard tabs, no hard tabs.
79
+ Layout/Tab:
80
+ Enabled: true
81
+
82
+ # Blank lines should not have any spaces.
83
+ Layout/TrailingBlankLines:
84
+ Enabled: true
85
+
86
+ # No trailing whitespace.
87
+ Layout/TrailingWhitespace:
88
+ Enabled: true
89
+
90
+ # Prefer &&/|| over and/or.
91
+ Style/AndOr:
92
+ Enabled: true
93
+
94
+ # Do not use braces for hash literals when they are the last argument of a
95
+ # method call.
96
+ Style/BracesAroundHashParameters:
97
+ Enabled: true
98
+ EnforcedStyle: context_dependent
99
+
100
+ # Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
101
+ Style/HashSyntax:
102
+ Enabled: true
103
+
104
+ # Defining a method with parameters needs parentheses.
105
+ Style/MethodDefParentheses:
106
+ Enabled: true
107
+
108
+ # Check quotes usage according to lint rule below.
109
+ Style/StringLiterals:
110
+ Enabled: true
111
+ EnforcedStyle: double_quotes
112
+
113
+ # Use quotes for string literals when they are enough.
114
+ Style/UnneededPercentQ:
115
+ Enabled: true
116
+
117
+ # Align `end` with the matching keyword or starting expression except for
118
+ # assignments, where it should be aligned with the LHS.
119
+ Lint/EndAlignment:
120
+ Enabled: true
121
+ EnforcedStyleAlignWith: variable
122
+
123
+ # Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
124
+ Lint/RequireParentheses:
125
+ Enabled: true
data/.travis.yml ADDED
@@ -0,0 +1,25 @@
1
+ language: ruby
2
+ sudo: false
3
+ bundler: true
4
+
5
+ rvm:
6
+ - 2.3
7
+ - 2.4
8
+ - ruby-head
9
+
10
+ cache:
11
+ bundler: true
12
+ yarn: true
13
+
14
+ matrix:
15
+ allow_failures:
16
+ - rvm: ruby-head
17
+ fast_finish: true
18
+
19
+ install:
20
+ - bundle install
21
+ - yarn install
22
+
23
+ script:
24
+ - bundle exec rake
25
+ - yarn lint
data/Gemfile ADDED
@@ -0,0 +1,33 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) { |repo_path| "https://github.com/#{repo_path}.git" }
4
+
5
+ gemspec
6
+
7
+ gem "rails", "~> 3.2.22.4"
8
+
9
+ gem "rake"
10
+ gem "byebug"
11
+
12
+ group :test do
13
+ gem "simplecov"
14
+ end
15
+
16
+ gem "sqlite3"
17
+ gem "httparty"
18
+
19
+ gem "aws-sdk", "~> 2", require: false
20
+ gem "google-cloud-storage", require: false
21
+ # Contains fix to be able to test using StringIO
22
+ gem 'azure-core', git: "https://github.com/dixpac/azure-ruby-asm-core.git"
23
+ gem 'azure-storage', require: false
24
+
25
+ gem "mini_magick"
26
+
27
+ gem "rubocop", require: false
28
+
29
+ gem "test-unit", "~> 3.6"
30
+
31
+ gem "minitest", "~> 5.15"
32
+
33
+ gem "test-unit-rails", "~> 1.0"
data/Gemfile.lock ADDED
@@ -0,0 +1,271 @@
1
+ GIT
2
+ remote: https://github.com/dixpac/azure-ruby-asm-core.git
3
+ revision: 4403389747f44a94b73e7a7522d1ea11f8b1a266
4
+ specs:
5
+ azure-core (0.1.8)
6
+ faraday (~> 0.9)
7
+ faraday_middleware (~> 0.10)
8
+ nokogiri (~> 1.7)
9
+
10
+ PATH
11
+ remote: .
12
+ specs:
13
+ activestorage_legacy (0.1)
14
+ marcel (>= 1.0)
15
+ mini_magick (>= 4.0)
16
+ rails (>= 3.2.22.4)
17
+ sidekiq (>= 4.2.0)
18
+ strong_parameters
19
+
20
+ GEM
21
+ remote: https://rubygems.org/
22
+ specs:
23
+ actionmailer (3.2.22.5)
24
+ actionpack (= 3.2.22.5)
25
+ mail (~> 2.5.4)
26
+ actionpack (3.2.22.5)
27
+ activemodel (= 3.2.22.5)
28
+ activesupport (= 3.2.22.5)
29
+ builder (~> 3.0.0)
30
+ erubis (~> 2.7.0)
31
+ journey (~> 1.0.4)
32
+ rack (~> 1.4.5)
33
+ rack-cache (~> 1.2)
34
+ rack-test (~> 0.6.1)
35
+ sprockets (~> 2.2.1)
36
+ activemodel (3.2.22.5)
37
+ activesupport (= 3.2.22.5)
38
+ builder (~> 3.0.0)
39
+ activerecord (3.2.22.5)
40
+ activemodel (= 3.2.22.5)
41
+ activesupport (= 3.2.22.5)
42
+ arel (~> 3.0.2)
43
+ tzinfo (~> 0.3.29)
44
+ activeresource (3.2.22.5)
45
+ activemodel (= 3.2.22.5)
46
+ activesupport (= 3.2.22.5)
47
+ activesupport (3.2.22.5)
48
+ i18n (~> 0.6, >= 0.6.4)
49
+ multi_json (~> 1.0)
50
+ addressable (2.8.4)
51
+ public_suffix (>= 2.0.2, < 6.0)
52
+ arel (3.0.3)
53
+ ast (2.3.0)
54
+ aws-sdk (2.10.7)
55
+ aws-sdk-resources (= 2.10.7)
56
+ aws-sdk-core (2.10.7)
57
+ aws-sigv4 (~> 1.0)
58
+ jmespath (~> 1.0)
59
+ aws-sdk-resources (2.10.7)
60
+ aws-sdk-core (= 2.10.7)
61
+ aws-sigv4 (1.0.0)
62
+ azure-storage (0.11.4.preview)
63
+ azure-core (~> 0.1)
64
+ faraday (~> 0.9)
65
+ faraday_middleware (~> 0.10)
66
+ nokogiri (~> 1.6)
67
+ builder (3.0.4)
68
+ byebug (9.0.6)
69
+ capybara (2.18.0)
70
+ addressable
71
+ mini_mime (>= 0.1.3)
72
+ nokogiri (>= 1.3.3)
73
+ rack (>= 1.0.0)
74
+ rack-test (>= 0.5.4)
75
+ xpath (>= 2.0, < 4.0)
76
+ concurrent-ruby (1.2.2)
77
+ connection_pool (2.2.5)
78
+ declarative (0.0.20)
79
+ declarative-option (0.1.0)
80
+ digest-crc (0.6.4)
81
+ rake (>= 12.0.0, < 14.0.0)
82
+ docile (1.3.5)
83
+ erubis (2.7.0)
84
+ faraday (0.12.1)
85
+ multipart-post (>= 1.2, < 3)
86
+ faraday_middleware (0.12.0)
87
+ faraday (>= 0.7.4, < 1.0)
88
+ google-api-client (0.32.1)
89
+ addressable (~> 2.5, >= 2.5.1)
90
+ googleauth (>= 0.5, < 0.10.0)
91
+ httpclient (>= 2.8.1, < 3.0)
92
+ mini_mime (~> 1.0)
93
+ representable (~> 3.0)
94
+ retriable (>= 2.0, < 4.0)
95
+ signet (~> 0.10)
96
+ google-cloud-core (1.3.2)
97
+ google-cloud-env (~> 1.0)
98
+ google-cloud-env (1.2.1)
99
+ faraday (~> 0.11)
100
+ google-cloud-storage (1.21.1)
101
+ addressable (~> 2.5)
102
+ digest-crc (~> 0.4)
103
+ google-api-client (~> 0.26)
104
+ google-cloud-core (~> 1.2)
105
+ googleauth (>= 0.6.2, < 0.10.0)
106
+ mini_mime (~> 1.0)
107
+ googleauth (0.9.0)
108
+ faraday (~> 0.12)
109
+ jwt (>= 1.4, < 3.0)
110
+ memoist (~> 0.16)
111
+ multi_json (~> 1.11)
112
+ os (>= 0.9, < 2.0)
113
+ signet (~> 0.7)
114
+ hike (1.2.3)
115
+ httparty (0.15.5)
116
+ multi_xml (>= 0.5.2)
117
+ httpclient (2.8.3)
118
+ i18n (0.9.5)
119
+ concurrent-ruby (~> 1.0)
120
+ jmespath (1.3.1)
121
+ journey (1.0.4)
122
+ json (1.8.6)
123
+ jwt (2.3.0)
124
+ mail (2.5.5)
125
+ mime-types (~> 1.16)
126
+ treetop (~> 1.4.8)
127
+ marcel (1.0.2)
128
+ memoist (0.16.2)
129
+ mime-types (1.25.1)
130
+ mini_magick (4.8.0)
131
+ mini_mime (1.1.2)
132
+ mini_portile2 (2.2.0)
133
+ minitest (5.15.0)
134
+ multi_json (1.15.0)
135
+ multi_xml (0.6.0)
136
+ multipart-post (2.0.0)
137
+ nokogiri (1.8.0)
138
+ mini_portile2 (~> 2.2.0)
139
+ os (1.1.4)
140
+ parallel (1.11.2)
141
+ parser (2.4.0.0)
142
+ ast (~> 2.2)
143
+ polyglot (0.3.5)
144
+ power_assert (2.0.3)
145
+ powerpack (0.1.1)
146
+ public_suffix (4.0.7)
147
+ rack (1.4.7)
148
+ rack-cache (1.13.0)
149
+ rack (>= 0.4)
150
+ rack-protection (2.2.4)
151
+ rack
152
+ rack-ssl (1.3.4)
153
+ rack
154
+ rack-test (0.6.3)
155
+ rack (>= 1.0)
156
+ rails (3.2.22.5)
157
+ actionmailer (= 3.2.22.5)
158
+ actionpack (= 3.2.22.5)
159
+ activerecord (= 3.2.22.5)
160
+ activeresource (= 3.2.22.5)
161
+ activesupport (= 3.2.22.5)
162
+ bundler (~> 1.0)
163
+ railties (= 3.2.22.5)
164
+ railties (3.2.22.5)
165
+ actionpack (= 3.2.22.5)
166
+ activesupport (= 3.2.22.5)
167
+ rack-ssl (~> 1.3.2)
168
+ rake (>= 0.8.7)
169
+ rdoc (~> 3.4)
170
+ thor (>= 0.14.6, < 2.0)
171
+ rainbow (2.2.2)
172
+ rake
173
+ rake (12.0.0)
174
+ rdoc (3.12.2)
175
+ json (~> 1.4)
176
+ redis (4.4.0)
177
+ representable (3.0.4)
178
+ declarative (< 0.1.0)
179
+ declarative-option (< 0.2.0)
180
+ uber (< 0.2.0)
181
+ retriable (3.1.2)
182
+ rr (3.1.0)
183
+ rubocop (0.49.1)
184
+ parallel (~> 1.10)
185
+ parser (>= 2.3.3.1, < 3.0)
186
+ powerpack (~> 0.1)
187
+ rainbow (>= 1.99.1, < 3.0)
188
+ ruby-progressbar (~> 1.7)
189
+ unicode-display_width (~> 1.0, >= 1.0.1)
190
+ ruby-progressbar (1.8.1)
191
+ sidekiq (5.2.8)
192
+ connection_pool (~> 2.2, >= 2.2.2)
193
+ rack (< 2.1.0)
194
+ rack-protection (>= 1.5.0)
195
+ redis (>= 3.3.5, < 5)
196
+ signet (0.11.0)
197
+ addressable (~> 2.3)
198
+ faraday (~> 0.9)
199
+ jwt (>= 1.5, < 3.0)
200
+ multi_json (~> 1.10)
201
+ simplecov (0.17.1)
202
+ docile (~> 1.1)
203
+ json (>= 1.8, < 3)
204
+ simplecov-html (~> 0.10.0)
205
+ simplecov-html (0.10.2)
206
+ sprockets (2.2.3)
207
+ hike (~> 1.2)
208
+ multi_json (~> 1.0)
209
+ rack (~> 1.0)
210
+ tilt (~> 1.1, != 1.3.0)
211
+ sqlite3 (1.3.13)
212
+ strong_parameters (0.2.3)
213
+ actionpack (~> 3.0)
214
+ activemodel (~> 3.0)
215
+ activesupport (~> 3.0)
216
+ railties (~> 3.0)
217
+ test-unit (3.6.1)
218
+ power_assert
219
+ test-unit-activesupport (1.1.1)
220
+ activesupport
221
+ test-unit
222
+ test-unit-capybara (1.1.1)
223
+ capybara (>= 2.1.0)
224
+ json
225
+ test-unit (>= 2.5.3)
226
+ test-unit-notify (1.0.4)
227
+ test-unit (>= 2.4.9)
228
+ test-unit-rails (1.0.4)
229
+ rails
230
+ test-unit-activesupport (>= 1.0.2)
231
+ test-unit-capybara
232
+ test-unit-notify
233
+ test-unit-rr
234
+ test-unit-rr (1.0.5)
235
+ rr (>= 1.1.1)
236
+ test-unit (>= 2.5.2)
237
+ thor (1.2.2)
238
+ tilt (1.4.1)
239
+ treetop (1.4.15)
240
+ polyglot
241
+ polyglot (>= 0.3.1)
242
+ tzinfo (0.3.62)
243
+ uber (0.1.0)
244
+ unicode-display_width (1.3.0)
245
+ xpath (3.2.0)
246
+ nokogiri (~> 1.8)
247
+
248
+ PLATFORMS
249
+ ruby
250
+
251
+ DEPENDENCIES
252
+ activestorage_legacy!
253
+ aws-sdk (~> 2)
254
+ azure-core!
255
+ azure-storage
256
+ bundler (~> 1.15)
257
+ byebug
258
+ google-cloud-storage
259
+ httparty
260
+ mini_magick
261
+ minitest (~> 5.15)
262
+ rails (~> 3.2.22.4)
263
+ rake
264
+ rubocop
265
+ simplecov
266
+ sqlite3
267
+ test-unit (~> 3.6)
268
+ test-unit-rails (~> 1.0)
269
+
270
+ BUNDLED WITH
271
+ 1.17.3
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2017 David Heinemeier Hansson, Basecamp
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.