webpacker_uploader 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: fbdb29fdfafeddb7feb884a38b52e8805a42551a9d6562a74b011b9673926cd1
4
+ data.tar.gz: 925e5c75c02b4b227b243a2a016de589e18b9072421ff20f4cc632a72834a74e
5
+ SHA512:
6
+ metadata.gz: d5ac3ffbf041da9ec25dbc52e7dd8c6e63ee501a5a3eff6355efbf37124089d29c4ba6720b88310b5e083749aea1ac7c8be1a9c5692fb0eecfa6931a202cc8d5
7
+ data.tar.gz: 9d16ddae2c7ca1efcbc0f1f4dbb4c5002c0b28281f652ff92e2a0bc28d849c7bb9828ee9e26121c157cdcc9d0221c78983d8c093865da35cacfe2433b9bcc30f
@@ -0,0 +1,35 @@
1
+ name: RuboCop
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+ build:
7
+ name: RuboCop
8
+ runs-on: ${{ matrix.os }}
9
+ env:
10
+ BUNDLE_JOBS: 4
11
+ BUNDLE_RETRY: 3
12
+ strategy:
13
+ matrix:
14
+ os: [ ubuntu-latest ]
15
+ ruby: [
16
+ 2.7
17
+ ]
18
+ steps:
19
+ - uses: actions/checkout@v2
20
+ - uses: actions/cache@v2
21
+ with:
22
+ path: vendor/bundle
23
+ key: ${{ runner.os }}-rubocop-${{ hashFiles('**/Gemfile.lock') }}
24
+ restore-keys: |
25
+ ${{ runner.os }}-rubocop-
26
+ - uses: ruby/setup-ruby@v1
27
+ with:
28
+ ruby-version: ${{ matrix.ruby }}
29
+ - name: Bundle install
30
+ run: |
31
+ gem install bundler -v 2.1.4
32
+ bundle config path vendor/bundle
33
+ bundle install
34
+ - name: Run RuboCop
35
+ run: bundle exec rubocop
@@ -0,0 +1,38 @@
1
+ name: Ruby tests
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+ build:
7
+ name: Ruby tests
8
+ runs-on: ${{ matrix.os }}
9
+ env:
10
+ BUNDLE_JOBS: 4
11
+ BUNDLE_RETRY: 3
12
+ strategy:
13
+ fail-fast: false
14
+ matrix:
15
+ os: [ubuntu-latest]
16
+ ruby: [
17
+ 2.5,
18
+ 2.6,
19
+ 2.7
20
+ ]
21
+ steps:
22
+ - uses: actions/checkout@v2
23
+ - uses: actions/cache@v2
24
+ with:
25
+ path: vendor/bundle
26
+ key: ${{ runner.os }}-ruby-${{ matrix.ruby }}-gems-${{ hashFiles('**/Gemfile.lock') }}-${{ hashFiles('**/*.gemspec') }}
27
+ restore-keys: |
28
+ ${{ runner.os }}-ruby-${{ matrix.ruby }}-gems-
29
+ - uses: ruby/setup-ruby@v1
30
+ with:
31
+ ruby-version: ${{ matrix.ruby }}
32
+ - name: Bundle install
33
+ run: |
34
+ gem install bundler -v 2.1.4
35
+ bundle config path vendor/bundle
36
+ bundle install
37
+ - name: Run tests
38
+ run: bundle exec rake test
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+ .ruby-version
10
+ *.gem
11
+ /test/test_app/log/
@@ -0,0 +1,125 @@
1
+ require: rubocop-performance
2
+ AllCops:
3
+ TargetRubyVersion: 2.5
4
+ # RuboCop has a bunch of cops enabled by default. This setting tells RuboCop
5
+ # to ignore them, so only the ones explicitly set in this file are enabled.
6
+ DisabledByDefault: true
7
+ Exclude:
8
+ - 'lib/install/templates/**'
9
+ - 'vendor/**/*'
10
+ - 'node_modules/**/*'
11
+
12
+ # Prefer &&/|| over and/or.
13
+ Style/AndOr:
14
+ Enabled: true
15
+
16
+ # Do not use braces for hash literals when they are the last argument of a
17
+ # method call.
18
+ Style/BracesAroundHashParameters:
19
+ Enabled: true
20
+
21
+ # Align `when` with `case`.
22
+ Layout/CaseIndentation:
23
+ Enabled: true
24
+
25
+ # Align comments with method definitions.
26
+ Layout/CommentIndentation:
27
+ Enabled: true
28
+
29
+ # No extra empty lines.
30
+ Layout/EmptyLines:
31
+ Enabled: true
32
+
33
+ # In a regular class definition, no empty lines around the body.
34
+ Layout/EmptyLinesAroundClassBody:
35
+ Enabled: true
36
+
37
+ # In a regular method definition, no empty lines around the body.
38
+ Layout/EmptyLinesAroundMethodBody:
39
+ Enabled: true
40
+
41
+ # In a regular module definition, no empty lines around the body.
42
+ Layout/EmptyLinesAroundModuleBody:
43
+ Enabled: true
44
+
45
+ # Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
46
+ Style/HashSyntax:
47
+ Enabled: true
48
+
49
+ # Method definitions after `private` or `protected` isolated calls need one
50
+ # extra level of indentation.
51
+ Layout/IndentationConsistency:
52
+ Enabled: true
53
+ EnforcedStyle: rails
54
+
55
+ # Two spaces, no tabs (for indentation).
56
+ Layout/IndentationWidth:
57
+ Enabled: true
58
+
59
+ Layout/SpaceAfterColon:
60
+ Enabled: true
61
+
62
+ Layout/SpaceAfterComma:
63
+ Enabled: true
64
+
65
+ Layout/SpaceAroundEqualsInParameterDefault:
66
+ Enabled: true
67
+
68
+ Layout/SpaceAroundKeyword:
69
+ Enabled: true
70
+
71
+ Layout/SpaceAroundOperators:
72
+ Enabled: true
73
+
74
+ Layout/SpaceBeforeFirstArg:
75
+ Enabled: true
76
+
77
+ # Defining a method with parameters needs parentheses.
78
+ Style/MethodDefParentheses:
79
+ Enabled: true
80
+
81
+ # Use `foo {}` not `foo{}`.
82
+ Layout/SpaceBeforeBlockBraces:
83
+ Enabled: true
84
+
85
+ # Use `foo { bar }` not `foo {bar}`.
86
+ Layout/SpaceInsideBlockBraces:
87
+ Enabled: true
88
+
89
+ # Use `{ a: 1 }` not `{a:1}`.
90
+ Layout/SpaceInsideHashLiteralBraces:
91
+ Enabled: true
92
+
93
+ Layout/SpaceInsideParens:
94
+ Enabled: true
95
+
96
+ # Check quotes usage according to lint rule below.
97
+ Style/StringLiterals:
98
+ Enabled: true
99
+ EnforcedStyle: double_quotes
100
+
101
+ # Detect hard tabs, no hard tabs.
102
+ Layout/Tab:
103
+ Enabled: true
104
+
105
+ # Blank lines should not have any spaces.
106
+ Layout/TrailingBlankLines:
107
+ Enabled: true
108
+
109
+ # No trailing whitespace.
110
+ Layout/TrailingWhitespace:
111
+ Enabled: true
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
+ Layout/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
@@ -0,0 +1,22 @@
1
+ Contributing
2
+ ============
3
+
4
+ #### Fork the Project
5
+
6
+ Fork the [project on Github](https://github.com/tlatsas/webpacker_uploader) and check out your copy.
7
+
8
+ ```
9
+ git clone https://github.com/<contributor>/webpacker_uploader.git
10
+ cd webpacker_uploader
11
+ git remote add upstream https://github.com/tlatsas/webpacker_uploader.git
12
+ ```
13
+
14
+ #### Create a Topic Branch
15
+
16
+ Make sure your fork is up-to-date and create a topic branch for your feature or bug fix.
17
+
18
+ ```
19
+ git checkout master
20
+ git pull upstream master
21
+ git checkout -b my-feature-branch
22
+ ```
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
4
+
5
+ gem "rake", ">= 11.1"
6
+ gem "aws-sdk-s3"
7
+
8
+ group :test do
9
+ gem "minitest", "~> 5.0"
10
+ end
@@ -0,0 +1,123 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ webpacker_uploader (0.1.0)
5
+ mime-types
6
+ webpacker (>= 5.1)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ actionpack (6.0.3.3)
12
+ actionview (= 6.0.3.3)
13
+ activesupport (= 6.0.3.3)
14
+ rack (~> 2.0, >= 2.0.8)
15
+ rack-test (>= 0.6.3)
16
+ rails-dom-testing (~> 2.0)
17
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
18
+ actionview (6.0.3.3)
19
+ activesupport (= 6.0.3.3)
20
+ builder (~> 3.1)
21
+ erubi (~> 1.4)
22
+ rails-dom-testing (~> 2.0)
23
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
24
+ activesupport (6.0.3.3)
25
+ concurrent-ruby (~> 1.0, >= 1.0.2)
26
+ i18n (>= 0.7, < 2)
27
+ minitest (~> 5.1)
28
+ tzinfo (~> 1.1)
29
+ zeitwerk (~> 2.2, >= 2.2.2)
30
+ ast (2.4.1)
31
+ aws-eventstream (1.1.0)
32
+ aws-partitions (1.376.0)
33
+ aws-sdk-core (3.108.0)
34
+ aws-eventstream (~> 1, >= 1.0.2)
35
+ aws-partitions (~> 1, >= 1.239.0)
36
+ aws-sigv4 (~> 1.1)
37
+ jmespath (~> 1.0)
38
+ aws-sdk-kms (1.38.0)
39
+ aws-sdk-core (~> 3, >= 3.99.0)
40
+ aws-sigv4 (~> 1.1)
41
+ aws-sdk-s3 (1.81.1)
42
+ aws-sdk-core (~> 3, >= 3.104.3)
43
+ aws-sdk-kms (~> 1)
44
+ aws-sigv4 (~> 1.1)
45
+ aws-sigv4 (1.2.2)
46
+ aws-eventstream (~> 1, >= 1.0.2)
47
+ builder (3.2.4)
48
+ concurrent-ruby (1.1.7)
49
+ crass (1.0.6)
50
+ erubi (1.9.0)
51
+ i18n (1.8.5)
52
+ concurrent-ruby (~> 1.0)
53
+ jaro_winkler (1.5.4)
54
+ jmespath (1.4.0)
55
+ loofah (2.7.0)
56
+ crass (~> 1.0.2)
57
+ nokogiri (>= 1.5.9)
58
+ method_source (1.0.0)
59
+ mime-types (3.3.1)
60
+ mime-types-data (~> 3.2015)
61
+ mime-types-data (3.2020.0512)
62
+ mini_portile2 (2.4.0)
63
+ minitest (5.14.2)
64
+ nokogiri (1.10.10)
65
+ mini_portile2 (~> 2.4.0)
66
+ parallel (1.19.2)
67
+ parser (2.7.1.4)
68
+ ast (~> 2.4.1)
69
+ rack (2.2.3)
70
+ rack-proxy (0.6.5)
71
+ rack
72
+ rack-test (1.1.0)
73
+ rack (>= 1.0, < 3)
74
+ rails-dom-testing (2.0.3)
75
+ activesupport (>= 4.2.0)
76
+ nokogiri (>= 1.6)
77
+ rails-html-sanitizer (1.3.0)
78
+ loofah (~> 2.3)
79
+ railties (6.0.3.3)
80
+ actionpack (= 6.0.3.3)
81
+ activesupport (= 6.0.3.3)
82
+ method_source
83
+ rake (>= 0.8.7)
84
+ thor (>= 0.20.3, < 2.0)
85
+ rainbow (3.0.0)
86
+ rake (12.3.3)
87
+ rubocop (0.68.1)
88
+ jaro_winkler (~> 1.5.1)
89
+ parallel (~> 1.10)
90
+ parser (>= 2.5, != 2.5.1.1)
91
+ rainbow (>= 2.2.2, < 4.0)
92
+ ruby-progressbar (~> 1.7)
93
+ unicode-display_width (>= 1.4.0, < 1.6)
94
+ rubocop-performance (1.3.0)
95
+ rubocop (>= 0.68.0)
96
+ ruby-progressbar (1.10.1)
97
+ semantic_range (2.3.0)
98
+ thor (1.0.1)
99
+ thread_safe (0.3.6)
100
+ tzinfo (1.2.7)
101
+ thread_safe (~> 0.1)
102
+ unicode-display_width (1.5.0)
103
+ webpacker (5.2.1)
104
+ activesupport (>= 5.2)
105
+ rack-proxy (>= 0.6.1)
106
+ railties (>= 5.2)
107
+ semantic_range (>= 2.3.0)
108
+ zeitwerk (2.4.0)
109
+
110
+ PLATFORMS
111
+ ruby
112
+
113
+ DEPENDENCIES
114
+ aws-sdk-s3
115
+ bundler (>= 1.3.0)
116
+ minitest (~> 5.0)
117
+ rake (>= 11.1)
118
+ rubocop (< 0.69)
119
+ rubocop-performance
120
+ webpacker_uploader!
121
+
122
+ BUNDLED WITH
123
+ 2.1.4
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2020 Tasos Latsas
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,63 @@
1
+ # WebpackerUploader
2
+
3
+ Webpacker uploader provides an easy way to upload your assets to AWS S3.
4
+ It knows which files to upload by reading the `manifest.json` file.
5
+
6
+ This is particularly useful if you serve your application's assets through a combination of
7
+ S3 + CDN, outside of your Rails application.
8
+
9
+ ## Installation
10
+
11
+ Add this line to your application's Gemfile:
12
+
13
+ ```ruby
14
+ gem "webpacker_uploader"
15
+ ```
16
+
17
+ And then execute:
18
+
19
+ $ bundle install
20
+
21
+ Or install it yourself as:
22
+
23
+ $ gem install webpacker_uploader
24
+
25
+ To use the aws provider install the aws-sdk-s3 gem. Add in your Gemfile:
26
+
27
+ ```ruby
28
+ gem "aws-sdk-s3", require: false
29
+ ```
30
+
31
+ ## Usage
32
+
33
+ ```ruby
34
+ require 'webpacker_uploader'
35
+ require 'webpacker_uploader/providers/aws'
36
+
37
+ provider_options = {
38
+ credentials: { profile_name: "staging" },
39
+ region: "eu-central-1",
40
+ bucket: "application-assets-20200929124523451600000001"
41
+ }
42
+
43
+ provider = WebpackerUploader::Providers::Aws.new(provider_options)
44
+ WebpackerUploader.upload!(provider)
45
+ ```
46
+
47
+ ## Development
48
+
49
+ After checking out the repo, run `bin/setup` to install dependencies.
50
+ Then, run `rake test` to run the tests. You can also run `bin/console` for an
51
+ interactive prompt that will allow you to experiment.
52
+
53
+ To install this gem onto your local machine, run `bundle exec rake install`.
54
+
55
+ ## Contributing
56
+
57
+ Bug reports and pull requests are welcome on GitHub at https://github.com/tlatsas/webpacker_uploader.
58
+
59
+ See [CONTRIBUTING](CONTRIBUTING.md).
60
+
61
+ ## License
62
+
63
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new(:test) do |t|
5
+ t.libs << "test"
6
+ t.libs << "lib"
7
+ t.test_files = FileList["test/**/*_test.rb"]
8
+ end
9
+
10
+ task default: :test
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "webpacker_uploader"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "active_support/core_ext/object/blank"
4
+ require "active_support/logger"
5
+ require "active_support/tagged_logging"
6
+
7
+ module WebpackerUploader
8
+ extend self
9
+
10
+ def instance=(instance)
11
+ @instance = instance
12
+ end
13
+
14
+ def instance
15
+ @instance ||= WebpackerUploader::Instance.new
16
+ end
17
+
18
+ delegate :logger, :logger=, :upload!, to: :instance
19
+ end
20
+
21
+ require "webpacker_uploader/instance"
22
+ require "webpacker_uploader/manifest"
23
+ require "webpacker_uploader/version"
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "mime-types"
4
+
5
+ class WebpackerUploader::Instance
6
+ # TODO make this configurable
7
+ IGNORE_EXTENSION = %w[.map].freeze
8
+ public_constant :IGNORE_EXTENSION
9
+
10
+ cattr_accessor(:logger) { ActiveSupport::TaggedLogging.new(ActiveSupport::Logger.new(STDOUT)) }
11
+
12
+ def manifest
13
+ @manifest ||= WebpackerUploader::Manifest.new
14
+ end
15
+
16
+ def upload!(provider)
17
+ manifest.assets.each do |name, path|
18
+ path = path[1..-1]
19
+ file_path = Rails.root.join("public", path)
20
+
21
+ if name.end_with?(*IGNORE_EXTENSION)
22
+ logger.info("Skipping: #{file_path}")
23
+ else
24
+ logger.info("Processing: #{file_path}")
25
+ provider.upload!(path, file_path, content_type_for(path)) unless name.end_with?(*IGNORE_EXTENSION)
26
+ end
27
+ end
28
+ end
29
+
30
+ private
31
+
32
+ def content_type_for(file)
33
+ fallback = MIME::Types.type_for(file).first.content_type
34
+ Rack::Mime.mime_type(File.extname(file), fallback)
35
+ end
36
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ class WebpackerUploader::Manifest
4
+ attr_reader :assets
5
+
6
+ def initialize
7
+ @assets = load
8
+ end
9
+
10
+ private
11
+
12
+ def load
13
+ if ::Webpacker.config.public_manifest_path.exist?
14
+ JSON.parse(::Webpacker.config.public_manifest_path.read).except("entrypoints")
15
+ else
16
+ {}
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "aws-sdk-s3"
4
+
5
+ module WebpackerUploader
6
+ module Providers
7
+ class Aws
8
+ attr_reader :client
9
+ attr_reader :resource
10
+ attr_reader :bucket
11
+
12
+ def initialize(options)
13
+ @client = ::Aws::S3::Client.new(credentials: credentials(options[:credentials]), region: options[:region])
14
+ @resource = ::Aws::S3::Resource.new(client: @client)
15
+ @bucket = @resource.bucket(options[:bucket])
16
+ end
17
+
18
+ def upload!(object_key, file, content_type = "")
19
+ object = @bucket.object(object_key)
20
+ object.upload_file(file, content_type: content_type)
21
+ end
22
+
23
+ private
24
+
25
+ def credentials(options)
26
+ if options[:profile_name].present?
27
+ ::Aws::SharedCredentials.new(profile_name: options[:profile_name])
28
+ else
29
+ ::Aws::Credentials.new(options[:access_key_id], options[:secret_access_key])
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,3 @@
1
+ module WebpackerUploader
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,37 @@
1
+ require_relative "lib/webpacker_uploader/version"
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = "webpacker_uploader"
5
+ s.version = WebpackerUploader::VERSION
6
+ s.authors = ["Tasos Latsas"]
7
+ s.email = ["tlatsas@hey.com"]
8
+
9
+ s.summary = "Uploads manifest.json file contents to the cloud"
10
+ s.description = "Uploads manifest.json file contents to the cloud"
11
+ s.homepage = "https://github.com/tlatsas/webpacker_uploader"
12
+ s.license = "MIT"
13
+
14
+ s.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
15
+
16
+ s.metadata = {
17
+ "homepage_uri" => s.homepage,
18
+ "source_code_uri" => "https://github.com/tlatsas/webpacker_uploader/tree/v#{s.version}"
19
+ }
20
+
21
+ # Specify which files should be added to the gem when it is released.
22
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
23
+ s.files = Dir.chdir(File.expand_path("..", __FILE__)) do
24
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
25
+ end
26
+
27
+ s.bindir = "exe"
28
+ s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
+ s.require_paths = ["lib"]
30
+
31
+ s.add_dependency "webpacker", ">= 5.1"
32
+ s.add_dependency "mime-types"
33
+
34
+ s.add_development_dependency "bundler", ">= 1.3.0"
35
+ s.add_development_dependency "rubocop", "< 0.69"
36
+ s.add_development_dependency "rubocop-performance"
37
+ end
metadata ADDED
@@ -0,0 +1,133 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: webpacker_uploader
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Tasos Latsas
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2020-10-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: webpacker
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '5.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '5.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: mime-types
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 1.3.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 1.3.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "<"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.69'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "<"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.69'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop-performance
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: Uploads manifest.json file contents to the cloud
84
+ email:
85
+ - tlatsas@hey.com
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - ".github/workflows/rubocop.yml"
91
+ - ".github/workflows/ruby.yml"
92
+ - ".gitignore"
93
+ - ".rubocop.yml"
94
+ - CONTRIBUTING.md
95
+ - Gemfile
96
+ - Gemfile.lock
97
+ - MIT-LICENSE
98
+ - README.md
99
+ - Rakefile
100
+ - bin/console
101
+ - bin/setup
102
+ - lib/webpacker_uploader.rb
103
+ - lib/webpacker_uploader/instance.rb
104
+ - lib/webpacker_uploader/manifest.rb
105
+ - lib/webpacker_uploader/providers/aws.rb
106
+ - lib/webpacker_uploader/version.rb
107
+ - webpacker_uploader.gemspec
108
+ homepage: https://github.com/tlatsas/webpacker_uploader
109
+ licenses:
110
+ - MIT
111
+ metadata:
112
+ homepage_uri: https://github.com/tlatsas/webpacker_uploader
113
+ source_code_uri: https://github.com/tlatsas/webpacker_uploader/tree/v0.1.0
114
+ post_install_message:
115
+ rdoc_options: []
116
+ require_paths:
117
+ - lib
118
+ required_ruby_version: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 2.5.0
123
+ required_rubygems_version: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
128
+ requirements: []
129
+ rubygems_version: 3.1.2
130
+ signing_key:
131
+ specification_version: 4
132
+ summary: Uploads manifest.json file contents to the cloud
133
+ test_files: []