rswag_schema_export 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +6 -10
- data/README.md +3 -1
- data/lib/rswag_schema_export/capistrano.rb +1 -0
- data/lib/rswag_schema_export/schema_import.rb +5 -4
- data/lib/{capistrano → rswag_schema_export}/tasks/rswag.rake +3 -2
- data/lib/rswag_schema_export/version.rb +1 -1
- data/lib/tasks/rswag_tasks.rake +0 -1
- data/rswag_schema_export.gemspec +1 -2
- metadata +4 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 663ecc311960cc8848e244d4f71790eb0a9e91da66aa820b9b673761528d4e50
|
4
|
+
data.tar.gz: c693f56751d318e60fd6a8cc26f3b9568c2f35388a0b5e2771ba0eb121f021b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b6c679fe76ac810612e968195d01ddd0ac754dc34b807bd49ff93d27cbbdaccd71eb96bcd7ac8d2beaac3c728077cd81675d6c21f3937530f87927a32cfeee87
|
7
|
+
data.tar.gz: db33f882f45ae29bef2cffc23442bfb0179e06dd27c1c3ce9c38180a1e057283ac9eaeec6a8dc5bdc65a81cd6212a03465fe19e471b39fd78d67f66d6fbc40d9
|
data/Gemfile.lock
CHANGED
@@ -27,17 +27,17 @@ GEM
|
|
27
27
|
tzinfo (~> 1.1)
|
28
28
|
ast (2.4.0)
|
29
29
|
aws-eventstream (1.0.3)
|
30
|
-
aws-partitions (1.
|
31
|
-
aws-sdk-core (3.
|
30
|
+
aws-partitions (1.184.0)
|
31
|
+
aws-sdk-core (3.59.0)
|
32
32
|
aws-eventstream (~> 1.0, >= 1.0.2)
|
33
33
|
aws-partitions (~> 1.0)
|
34
34
|
aws-sigv4 (~> 1.1)
|
35
35
|
jmespath (~> 1.0)
|
36
|
-
aws-sdk-kms (1.
|
37
|
-
aws-sdk-core (~> 3, >= 3.
|
36
|
+
aws-sdk-kms (1.23.0)
|
37
|
+
aws-sdk-core (~> 3, >= 3.58.0)
|
38
38
|
aws-sigv4 (~> 1.1)
|
39
|
-
aws-sdk-s3 (1.
|
40
|
-
aws-sdk-core (~> 3, >= 3.
|
39
|
+
aws-sdk-s3 (1.45.0)
|
40
|
+
aws-sdk-core (~> 3, >= 3.58.0)
|
41
41
|
aws-sdk-kms (~> 1)
|
42
42
|
aws-sigv4 (~> 1.1)
|
43
43
|
aws-sigv4 (1.1.0)
|
@@ -49,9 +49,6 @@ GEM
|
|
49
49
|
diff-lcs (1.3)
|
50
50
|
docile (1.3.2)
|
51
51
|
erubi (1.8.0)
|
52
|
-
generator_spec (0.9.4)
|
53
|
-
activesupport (>= 3.0.0)
|
54
|
-
railties (>= 3.0.0)
|
55
52
|
i18n (1.6.0)
|
56
53
|
concurrent-ruby (~> 1.0)
|
57
54
|
jaro_winkler (1.5.3)
|
@@ -124,7 +121,6 @@ PLATFORMS
|
|
124
121
|
|
125
122
|
DEPENDENCIES
|
126
123
|
bundler (~> 1.17)
|
127
|
-
generator_spec
|
128
124
|
pry
|
129
125
|
railties (>= 3.1, < 6.0)
|
130
126
|
rake (~> 10.0)
|
data/README.md
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
# Rswag::Schema::Export
|
1
|
+
# [Beta] Rswag::Schema::Export
|
2
|
+
|
3
|
+
[![CircleCI](https://circleci.com/gh/MLSDev/rswag_schema_export.svg?style=svg)](https://circleci.com/gh/MLSDev/rswag_schema_export)
|
2
4
|
|
3
5
|
|
4
6
|
Export your schema.json file to AWS s3 bucket and import back after deploy.
|
@@ -0,0 +1 @@
|
|
1
|
+
load File.expand_path("tasks/rswag.rake", __dir__)
|
@@ -1,13 +1,13 @@
|
|
1
|
+
require "aws-sdk-s3"
|
2
|
+
|
1
3
|
module RswagSchemaExport
|
2
4
|
class Import
|
3
|
-
def run
|
5
|
+
def run(stage = "develop")
|
4
6
|
abort("RSWAG_SCHEMA_PATH is not defined. Example: tmp/swagger/swagger.json") unless ENV["RSWAG_SCHEMA_PATH"]
|
5
7
|
abort("RSWAG_ACCESS_KEY_ID is not defined") unless ENV["RSWAG_ACCESS_KEY_ID"]
|
6
8
|
abort("RSWAG_SECRET_ACCESS_KEY is not defined") unless ENV["RSWAG_SECRET_ACCESS_KEY"]
|
7
9
|
abort("RSWAG_REGION is not defined") unless ENV["RSWAG_REGION"]
|
8
10
|
abort("RSWAG_BUCKET is not defined") unless ENV["RSWAG_BUCKET"]
|
9
|
-
|
10
|
-
stage = ENV["STAGE"] || "develop"
|
11
11
|
app_name = ENV["APP_NAME"] || "app"
|
12
12
|
|
13
13
|
begin
|
@@ -20,7 +20,8 @@ module RswagSchemaExport
|
|
20
20
|
versions = bucket.objects(prefix: "schemas/#{app_name}/#{stage}_schemas/versions").collect(&:key)
|
21
21
|
|
22
22
|
last_schema_key = versions.max
|
23
|
-
bucket.object(last_schema_key)
|
23
|
+
bucket.object(last_schema_key)
|
24
|
+
.copy_to("#{ENV['RSWAG_BUCKET']}/schemas/#{app_name}/#{stage}_schemas/schema.json")
|
24
25
|
# Download schema.json
|
25
26
|
if block_given?
|
26
27
|
bucket.object("schemas/#{app_name}/#{stage}_schemas/schema.json").download_file("schema.json")
|
@@ -1,10 +1,11 @@
|
|
1
|
-
require "
|
1
|
+
require "rswag_schema_export/schema_import"
|
2
2
|
|
3
3
|
namespace :rswag do
|
4
4
|
desc "Import latest schema.json to app"
|
5
5
|
task :schema_import do
|
6
6
|
on roles(:all) do
|
7
|
-
|
7
|
+
stage = ENV["STAGE"] || fetch(:stage, "develop")
|
8
|
+
RswagSchemaExport::Import.new.run(stage) do
|
8
9
|
upload!("schema.json", "#{current_path}/#{ENV['RSWAG_SCHEMA_PATH']}")
|
9
10
|
end
|
10
11
|
end
|
data/lib/tasks/rswag_tasks.rake
CHANGED
data/rswag_schema_export.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
|
11
11
|
spec.summary = "Export/Import your rswag schema.json during deploy with CI"
|
12
12
|
spec.description = "rswag_schema_export"
|
13
|
-
spec.homepage = "https://
|
13
|
+
spec.homepage = "https://github.com/MLSDev/rswag_schema_export"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
@@ -22,7 +22,6 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_dependency "aws-sdk-s3", "~> 1"
|
23
23
|
|
24
24
|
spec.add_development_dependency "bundler", "~> 1.17"
|
25
|
-
spec.add_development_dependency "generator_spec"
|
26
25
|
spec.add_development_dependency "pry"
|
27
26
|
spec.add_development_dependency "railties", ">= 3.1", "< 6.0"
|
28
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rswag_schema_export
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ruslan Tolstov
|
@@ -38,20 +38,6 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.17'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: generator_spec
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: pry
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,15 +150,16 @@ files:
|
|
164
150
|
- Rakefile
|
165
151
|
- bin/console
|
166
152
|
- bin/setup
|
167
|
-
- lib/capistrano/tasks/rswag.rake
|
168
153
|
- lib/rswag_schema_export.rb
|
154
|
+
- lib/rswag_schema_export/capistrano.rb
|
169
155
|
- lib/rswag_schema_export/railtie.rb
|
170
156
|
- lib/rswag_schema_export/schema_export.rb
|
171
157
|
- lib/rswag_schema_export/schema_import.rb
|
158
|
+
- lib/rswag_schema_export/tasks/rswag.rake
|
172
159
|
- lib/rswag_schema_export/version.rb
|
173
160
|
- lib/tasks/rswag_tasks.rake
|
174
161
|
- rswag_schema_export.gemspec
|
175
|
-
homepage: https://
|
162
|
+
homepage: https://github.com/MLSDev/rswag_schema_export
|
176
163
|
licenses:
|
177
164
|
- MIT
|
178
165
|
metadata: {}
|