prelands_rails 0.1.2 → 0.1.5
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.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/.gitlab-ci.yml +1 -2
- data/Gemfile.lock +601 -601
- data/README.md +22 -0
- data/lib/prelands_rails/concerns/my_aws_client.rb +27 -0
- data/lib/prelands_rails/create_simple_source/validate_zip_content/validate_html/html.rb +3 -3
- data/lib/prelands_rails/create_simple_source/validate_zip_content/validate_js.rb +5 -1
- data/lib/prelands_rails/create_simple_source/validate_zip_content.rb +1 -1
- data/lib/prelands_rails/create_simple_source.rb +1 -0
- data/lib/prelands_rails/recompile_simple_source/download_zip.rb +39 -0
- data/lib/prelands_rails/recompile_simple_source/rename_zip_file.rb +45 -0
- data/lib/prelands_rails/recompile_simple_source/update_record.rb +39 -0
- data/lib/prelands_rails/recompile_simple_source/upload.rb +39 -0
- data/lib/prelands_rails/recompile_simple_source.rb +65 -0
- data/lib/prelands_rails/update_simple_source/generate_new_aws_prefix.rb +27 -0
- data/lib/prelands_rails/update_simple_source/remove_content_from_old_aws_prefix.rb +29 -0
- data/lib/prelands_rails/update_simple_source/update_record.rb +4 -2
- data/lib/prelands_rails/update_simple_source/upload/delete_compiled_files.rb +5 -4
- data/lib/prelands_rails/update_simple_source/validate_zip_content.rb +4 -6
- data/lib/prelands_rails/update_simple_source.rb +10 -3
- data/lib/prelands_rails/validate_simple_source.rb +1 -0
- data/lib/prelands_rails.rb +8 -0
- data/prelands_rails.gemspec +1 -1
- metadata +10 -3
data/README.md
CHANGED
@@ -2,3 +2,25 @@
|
|
2
2
|
|
3
3
|
Код, занимающийся валидацией и публикацией прелендов V4.
|
4
4
|
|
5
|
+
# How to publish gem
|
6
|
+
|
7
|
+
1. Bump version inside `prelands_rails.gemspec`.
|
8
|
+
2. Make commit & push to `master` branch.
|
9
|
+
3. Then checkout `tags` branch and `git rebase master` (accept theirs if there are any conflicts).
|
10
|
+
4. Then `git push` - and Gitlab CI publish the new version of the gem.
|
11
|
+
|
12
|
+
# Local developing
|
13
|
+
|
14
|
+
Execute in bash console using the actual path to the gem folder:
|
15
|
+
|
16
|
+
bundle config local.prelands_rails /home/scout/git/prelands_rails/
|
17
|
+
|
18
|
+
Expected output:
|
19
|
+
|
20
|
+
You are replacing the current global value of local.prelands_rails, which is currently "/home/scout/git/preland_rails/"
|
21
|
+
|
22
|
+
In the Gemfile of a host application specify actual gem version, branch and semi-github path:
|
23
|
+
|
24
|
+
gem 'prelands_rails', '0.1.4', github: 'prelands_rails/prelands_rails', branch: 'master'
|
25
|
+
|
26
|
+
Run `bundle`, launch puma server. Now your host application uses the local files.
|
@@ -92,6 +92,33 @@ module PrelandsRails
|
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
95
|
+
# Переместит файл в пределах +bucket_name+
|
96
|
+
# @return true если успешно переместил
|
97
|
+
def move_file(s3_old_file_name, s3_new_file_name, bucket_name)
|
98
|
+
log :move_file, ['', s3_old_file_name, ' moving to ', s3_new_file_name, ' in ', bucket_name, '.'].join('"')
|
99
|
+
|
100
|
+
obj = Aws::S3::Object.new(bucket_name, s3_old_file_name, client: @s3.client)
|
101
|
+
new_target = [bucket_name, s3_new_file_name].join('/')
|
102
|
+
|
103
|
+
begin
|
104
|
+
obj.move_to new_target
|
105
|
+
rescue Aws::S3::Errors::NoSuchKey
|
106
|
+
log :move_file, 'Aws::S3::Errors::NoSuchKey: The specified key does not exist: "%s"' % s3_old_file_name
|
107
|
+
return false
|
108
|
+
end
|
109
|
+
|
110
|
+
obj = Aws::S3::Object.new(bucket_name, s3_new_file_name, client: @s3.client)
|
111
|
+
|
112
|
+
begin
|
113
|
+
obj.acl.put({ acl: ACL_PUBLIC_READ })
|
114
|
+
rescue Aws::S3::Errors::NoSuchKey
|
115
|
+
log :move_file_acl_put, 'Aws::S3::Errors::NoSuchKey: The specified key does not exist: "%s"' % s3_old_file_name
|
116
|
+
return false
|
117
|
+
end
|
118
|
+
|
119
|
+
true
|
120
|
+
end
|
121
|
+
|
95
122
|
private
|
96
123
|
|
97
124
|
def log(method, output)
|
@@ -86,7 +86,7 @@ module PrelandsRails
|
|
86
86
|
title_rx = /<title>[^<]+<\/title>/
|
87
87
|
return if @string[title_rx]
|
88
88
|
|
89
|
-
'Tag
|
89
|
+
'Tag `title` not found.'
|
90
90
|
end
|
91
91
|
|
92
92
|
def check_a_hrefs
|
@@ -97,10 +97,10 @@ module PrelandsRails
|
|
97
97
|
end
|
98
98
|
|
99
99
|
def check_favicon
|
100
|
-
favicon_rx =
|
100
|
+
favicon_rx = /<link.+href="icon.ico">/
|
101
101
|
return if @string[favicon_rx]
|
102
102
|
|
103
|
-
'
|
103
|
+
'`link href="icon.ico"` not found.'
|
104
104
|
end
|
105
105
|
|
106
106
|
protected
|
@@ -16,13 +16,17 @@ module PrelandsRails
|
|
16
16
|
end
|
17
17
|
|
18
18
|
assures do
|
19
|
+
optional(:warnings).maybe(type?: Array)
|
20
|
+
end
|
19
21
|
|
22
|
+
before do
|
23
|
+
context.warnings ||= []
|
20
24
|
end
|
21
25
|
|
22
26
|
def act
|
23
27
|
content = context[:files_content]['index.js']
|
24
28
|
content = Js.new(content)
|
25
|
-
|
29
|
+
context.warnings += content.errors unless content.valid?
|
26
30
|
end
|
27
31
|
|
28
32
|
on_breach { |breaches| bad_expects breaches }
|
@@ -34,6 +34,7 @@ module PrelandsRails
|
|
34
34
|
required(:files_content).value(type?: Hash) # распакованные файлы из архива { file_name[String] => file_content[String], ... }
|
35
35
|
required(:compiled_htmls).value(type?: Hash) # скомпилированные исходники { file_name[String] => compiled_content[String], ... }
|
36
36
|
required(:preland_simple_source).filled
|
37
|
+
optional(:warnings).maybe(type?: Array)
|
37
38
|
end
|
38
39
|
|
39
40
|
organize DetectIncomingLocales,
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module PrelandsRails
|
4
|
+
class RecompileSimpleSource
|
5
|
+
#
|
6
|
+
# Скачает и разместит в cache-директории zip-архив с исходником лендинга.
|
7
|
+
#
|
8
|
+
class DownloadZip
|
9
|
+
include ::PrelandsRails::AbstractInteractor
|
10
|
+
include ::Interactor
|
11
|
+
include ::Interactor::Contracts
|
12
|
+
include ::PrelandsRails::Base
|
13
|
+
|
14
|
+
expects do
|
15
|
+
required(:prelanding).filled #.value(type?: ::Preland)
|
16
|
+
end
|
17
|
+
|
18
|
+
assures do
|
19
|
+
required(:archive).filled # Rack::Test::UploadedFile | ActionDispatch::Http::UploadedFile
|
20
|
+
required(:tmp_dest).value(type?: String) # путь к временному файлу
|
21
|
+
end
|
22
|
+
|
23
|
+
def act
|
24
|
+
archive_url = prelanding.preland_simple_source.archive.url
|
25
|
+
destination = make_tmp_path
|
26
|
+
|
27
|
+
IO.copy_stream(Kernel.open(archive_url), destination)
|
28
|
+
|
29
|
+
context.archive = ActionDispatch::Http::UploadedFile.new(tempfile: destination)
|
30
|
+
context.tmp_dest = destination
|
31
|
+
end
|
32
|
+
|
33
|
+
on_breach { |breaches| bad_expects breaches }
|
34
|
+
|
35
|
+
delegate :prelanding,
|
36
|
+
:to => :context
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module PrelandsRails
|
4
|
+
class RecompileSimpleSource
|
5
|
+
class RenameZipFile
|
6
|
+
include ::PrelandsRails::AbstractInteractor
|
7
|
+
include ::Interactor
|
8
|
+
include ::Interactor::Contracts
|
9
|
+
|
10
|
+
expects do
|
11
|
+
required(:aws_prefix).value(type?: String)
|
12
|
+
required(:old_aws_prefix).value(type?: String)
|
13
|
+
required(:s3_credentials).schema do
|
14
|
+
required(:access_key).filled(:str?)
|
15
|
+
required(:secret_key).filled(:str?)
|
16
|
+
required(:region).filled(:str?)
|
17
|
+
end
|
18
|
+
required(:zip_bucket_name).filled(:str?)
|
19
|
+
end
|
20
|
+
|
21
|
+
assures do
|
22
|
+
required(:is_zip_moved).filled(:bool?)
|
23
|
+
end
|
24
|
+
|
25
|
+
def act
|
26
|
+
old_name = '%s/src.zip' % context.old_aws_prefix
|
27
|
+
new_name = '%s/src.zip' % context.aws_prefix
|
28
|
+
|
29
|
+
context.is_zip_moved =
|
30
|
+
client.move_file old_name, new_name, context.zip_bucket_name
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def client
|
36
|
+
return @client if defined?(@client)
|
37
|
+
|
38
|
+
creds = context.s3_credentials
|
39
|
+
@client = ::PrelandsRails::MyAwsClient.new creds[:access_key], creds[:secret_key], creds[:region]
|
40
|
+
end
|
41
|
+
|
42
|
+
on_breach { |breaches| bad_expects breaches }
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module PrelandsRails
|
4
|
+
class RecompileSimpleSource
|
5
|
+
#
|
6
|
+
# обновит запись ::Preland::SimpleSource
|
7
|
+
#
|
8
|
+
class UpdateRecord
|
9
|
+
include ::PrelandsRails::AbstractInteractor
|
10
|
+
include ::Interactor
|
11
|
+
include ::Interactor::Contracts
|
12
|
+
include ::PrelandsRails::Base
|
13
|
+
|
14
|
+
expects do
|
15
|
+
required(:aws_prefix).value(type?: String)
|
16
|
+
required(:old_aws_prefix).value(type?: String)
|
17
|
+
required(:model_preland_simple_source).filled
|
18
|
+
end
|
19
|
+
|
20
|
+
assures do
|
21
|
+
required(:preland_simple_source).filled
|
22
|
+
end
|
23
|
+
|
24
|
+
def act
|
25
|
+
source.aws_prefix = context.aws_prefix
|
26
|
+
source.save!
|
27
|
+
context.preland_simple_source = source
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def source
|
33
|
+
@source ||= context.model_preland_simple_source.find_by aws_prefix: context.old_aws_prefix
|
34
|
+
end
|
35
|
+
|
36
|
+
on_breach { |breaches| bad_expects breaches }
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module PrelandsRails
|
4
|
+
class RecompileSimpleSource
|
5
|
+
#
|
6
|
+
# Сначала удалить файлы преленда из директории +aws_prefix+, затем загрузить.
|
7
|
+
#
|
8
|
+
class Upload
|
9
|
+
include ::PrelandsRails::AbstractInteractor
|
10
|
+
include ::Interactor
|
11
|
+
include ::Interactor::Contracts
|
12
|
+
include ::PrelandsRails::UpdateSimpleSource::Upload::DeleteCompiledFiles
|
13
|
+
|
14
|
+
expects do
|
15
|
+
required(:archive).filled # Входящий архив с исходниками от фрилансера. Rack::Test::UploadedFile | ActionDispatch::Http::UploadedFile
|
16
|
+
required(:compiled_htmls).value(type?: Hash) # скомпилированные исходники { file_name[String] => compiled_content[String], ... }
|
17
|
+
required(:s3_credentials).schema do
|
18
|
+
required(:access_key).filled(:str?)
|
19
|
+
required(:secret_key).filled(:str?)
|
20
|
+
required(:region).filled(:str?)
|
21
|
+
end
|
22
|
+
required(:bucket_names).value(type?: Array)
|
23
|
+
required(:aws_prefix).value(type?: String)
|
24
|
+
required(:files_content).value(type?: Hash) # { file_name => file_content, ... }
|
25
|
+
end
|
26
|
+
|
27
|
+
assures do
|
28
|
+
end
|
29
|
+
|
30
|
+
def act
|
31
|
+
delete_compiled_files
|
32
|
+
result = ::PrelandsRails::CreateSimpleSource::Upload.call context
|
33
|
+
fail! errors: result.errors unless result.success?
|
34
|
+
end
|
35
|
+
|
36
|
+
on_breach { |breaches| bad_expects breaches }
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module PrelandsRails
|
4
|
+
#
|
5
|
+
# Перекомпилировать преленд на основе уже загруженного в aws архива.
|
6
|
+
#
|
7
|
+
class RecompileSimpleSource
|
8
|
+
include ::PrelandsRails::AbstractInteractor
|
9
|
+
include ::Interactor::Organizer
|
10
|
+
include ::Interactor::Contracts
|
11
|
+
|
12
|
+
expects do
|
13
|
+
required(:prelanding).filled#.value(type?: ::Preland)
|
14
|
+
required(:static_js_path).value(type?: String)
|
15
|
+
required(:s3_credentials).schema do
|
16
|
+
required(:access_key).filled(:str?)
|
17
|
+
required(:secret_key).filled(:str?)
|
18
|
+
required(:region).filled(:str?)
|
19
|
+
end
|
20
|
+
required(:bucket_names).value(type?: Array)
|
21
|
+
required(:model_preland_simple_source).filled
|
22
|
+
end
|
23
|
+
|
24
|
+
before do
|
25
|
+
context.expected_locales = context.prelanding.locales.map(&:short_name)
|
26
|
+
context.aws_prefix = context.prelanding.preland_simple_source.aws_prefix
|
27
|
+
end
|
28
|
+
|
29
|
+
assures do
|
30
|
+
required(:expected_locales).filled(type?: Array)
|
31
|
+
required(:aws_prefix).value(type?: String)
|
32
|
+
required(:archive).filled
|
33
|
+
required(:tmp_dest).value(type?: String)
|
34
|
+
required(:incoming_locales).filled(type?: Array)
|
35
|
+
required(:files_content).value(type?: Hash)
|
36
|
+
required(:compiled_htmls).value(type?: Hash)
|
37
|
+
required(:old_aws_prefix).value(type?: String)
|
38
|
+
required(:is_zip_moved).filled(:bool?)
|
39
|
+
end
|
40
|
+
|
41
|
+
after do
|
42
|
+
clear_tmp_dest
|
43
|
+
context.prelanding.preland_simple_source.update_columns updated_at: Time.now
|
44
|
+
end
|
45
|
+
|
46
|
+
organize DownloadZip,
|
47
|
+
::PrelandsRails::CreateSimpleSource::DetectIncomingLocales,
|
48
|
+
::PrelandsRails::CreateSimpleSource::CheckZipFiles,
|
49
|
+
::PrelandsRails::CreateSimpleSource::Compile,
|
50
|
+
::PrelandsRails::UpdateSimpleSource::GenerateNewAwsPrefix,
|
51
|
+
Upload,
|
52
|
+
UpdateRecord, # update aws_prefix
|
53
|
+
::PrelandsRails::UpdateSimpleSource::RemoveContentFromOldAwsPrefix,
|
54
|
+
RenameZipFile
|
55
|
+
|
56
|
+
on_breach { |breaches| bad_expects breaches }
|
57
|
+
|
58
|
+
private
|
59
|
+
|
60
|
+
def clear_tmp_dest
|
61
|
+
td = context.tmp_dest
|
62
|
+
File.delete(td) if File.exist?(td)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module PrelandsRails
|
4
|
+
class UpdateSimpleSource
|
5
|
+
|
6
|
+
class GenerateNewAwsPrefix
|
7
|
+
include ::PrelandsRails::AbstractInteractor
|
8
|
+
include ::Interactor
|
9
|
+
include ::Interactor::Contracts
|
10
|
+
|
11
|
+
expects do
|
12
|
+
required(:aws_prefix).value(type?: String)
|
13
|
+
end
|
14
|
+
|
15
|
+
assures do
|
16
|
+
required(:old_aws_prefix).value(type?: String)
|
17
|
+
end
|
18
|
+
|
19
|
+
def act
|
20
|
+
context.old_aws_prefix = context.aws_prefix
|
21
|
+
context.aws_prefix = SecureRandom.uuid[0..7]
|
22
|
+
end
|
23
|
+
|
24
|
+
on_breach { |breaches| bad_expects breaches }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module PrelandsRails
|
4
|
+
class UpdateSimpleSource
|
5
|
+
|
6
|
+
class RemoveContentFromOldAwsPrefix
|
7
|
+
include ::PrelandsRails::AbstractInteractor
|
8
|
+
include ::Interactor
|
9
|
+
include ::Interactor::Contracts
|
10
|
+
include ::PrelandsRails::UpdateSimpleSource::Upload::DeleteCompiledFiles
|
11
|
+
|
12
|
+
expects do
|
13
|
+
required(:old_aws_prefix).value(type?: String)
|
14
|
+
required(:s3_credentials).schema do
|
15
|
+
required(:access_key).filled(:str?)
|
16
|
+
required(:secret_key).filled(:str?)
|
17
|
+
required(:region).filled(:str?)
|
18
|
+
end
|
19
|
+
required(:bucket_names).value(type?: Array)
|
20
|
+
end
|
21
|
+
|
22
|
+
def act
|
23
|
+
delete_compiled_files(context.old_aws_prefix)
|
24
|
+
end
|
25
|
+
|
26
|
+
on_breach { |breaches| bad_expects breaches }
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -11,7 +11,8 @@ module PrelandsRails
|
|
11
11
|
|
12
12
|
expects do
|
13
13
|
required(:archive) # Входящий архив с исходниками от фрилансера. Rack::Test::UploadedFile | ActionDispatch::Http::UploadedFile
|
14
|
-
required(:aws_prefix).value(type?: String)
|
14
|
+
required(:aws_prefix).value(type?: String)
|
15
|
+
required(:old_aws_prefix).value(type?: String)
|
15
16
|
required(:preland_id).filled
|
16
17
|
required(:preland_domain_ids).value(type?: Array)
|
17
18
|
required(:incoming_locales).filled(type?: Array)
|
@@ -27,10 +28,11 @@ module PrelandsRails
|
|
27
28
|
end
|
28
29
|
|
29
30
|
def act
|
30
|
-
source = context.model_preland_simple_source.find_by aws_prefix: context.
|
31
|
+
source = context.model_preland_simple_source.find_by aws_prefix: context.old_aws_prefix
|
31
32
|
source.archive = context.archive if context.archive
|
32
33
|
source.preland_domain_ids = context.preland_domain_ids
|
33
34
|
source.locales = context.incoming_locales
|
35
|
+
source.aws_prefix = context.aws_prefix
|
34
36
|
source.save!
|
35
37
|
context.preland_simple_source = source
|
36
38
|
end
|
@@ -7,16 +7,17 @@ module PrelandsRails
|
|
7
7
|
# Удалить из +bucket_names+ файлы преленда из директории +aws_prefix+.
|
8
8
|
#
|
9
9
|
module DeleteCompiledFiles
|
10
|
-
def delete_compiled_files
|
11
|
-
|
12
|
-
|
10
|
+
def delete_compiled_files(that_aws_prefix = nil)
|
11
|
+
aws_prefix = that_aws_prefix || context.aws_prefix
|
12
|
+
creds = context.s3_credentials
|
13
|
+
client = ::PrelandsRails::MyAwsClient.new creds[:access_key], creds[:secret_key], creds[:region]
|
13
14
|
|
14
15
|
context.bucket_names.each do |bucket_name|
|
15
16
|
files = client.list_objects bucket_name
|
16
17
|
next unless files
|
17
18
|
|
18
19
|
files = files.map do |file_name|
|
19
|
-
{ key: file_name } if file_name.index(
|
20
|
+
{ key: file_name } if file_name.index(aws_prefix) == 0
|
20
21
|
end.compact
|
21
22
|
|
22
23
|
next if files.empty?
|
@@ -13,17 +13,15 @@ module PrelandsRails
|
|
13
13
|
end
|
14
14
|
|
15
15
|
assures do
|
16
|
-
|
17
|
-
end
|
18
|
-
|
19
|
-
before do
|
20
|
-
|
16
|
+
optional(:warnings).maybe(type?: Array)
|
21
17
|
end
|
22
18
|
|
23
19
|
def act
|
24
20
|
if context.files_content
|
25
21
|
result = ::PrelandsRails::CreateSimpleSource::ValidateZipContent.call context
|
26
|
-
|
22
|
+
if result.success?
|
23
|
+
context.warnings = result.warnings
|
24
|
+
else
|
27
25
|
fail!(errors: result.errors)
|
28
26
|
end
|
29
27
|
end
|
@@ -2,7 +2,11 @@
|
|
2
2
|
|
3
3
|
module PrelandsRails
|
4
4
|
#
|
5
|
-
# Примет zip-файл с исходниками преленда и
|
5
|
+
# Примет zip-файл с исходниками преленда и обновит исходники этого преленда.
|
6
|
+
# В результате будет обновлён `aws_prefix` -- имя директории в букете,
|
7
|
+
# что позволит избежать кэширования статического контента. . Другими словами,
|
8
|
+
# при обновлении файлов не надо ждать, пока Amazon обновит кэш или
|
9
|
+
# очищать кэш Amazon-а.
|
6
10
|
#
|
7
11
|
class UpdateSimpleSource
|
8
12
|
include ::PrelandsRails::AbstractInteractor
|
@@ -34,14 +38,17 @@ module PrelandsRails
|
|
34
38
|
optional(:files_content).maybe(type?: Hash) # распакованные файлы из архива { file_name[String] => file_content[String], ... }
|
35
39
|
optional(:compiled_htmls).value(type?: Hash) # скомпилированные исходники { file_name[String] => compiled_content[String], ... }
|
36
40
|
required(:preland_simple_source).filled
|
41
|
+
optional(:warnings).maybe(type?: Array)
|
37
42
|
end
|
38
43
|
|
39
44
|
organize ::PrelandsRails::CreateSimpleSource::DetectIncomingLocales,
|
40
45
|
CheckZipFiles,
|
41
46
|
ValidateZipContent,
|
42
47
|
Compile,
|
43
|
-
|
44
|
-
|
48
|
+
GenerateNewAwsPrefix,
|
49
|
+
Upload, # to new aws_prefix
|
50
|
+
UpdateRecord, # also update aws_prefix
|
51
|
+
RemoveContentFromOldAwsPrefix
|
45
52
|
|
46
53
|
on_breach { |breaches| bad_expects breaches }
|
47
54
|
end
|
data/lib/prelands_rails.rb
CHANGED
@@ -32,6 +32,8 @@ require 'prelands_rails/create_simple_source'
|
|
32
32
|
require 'prelands_rails/update_simple_source/upload/delete_compiled_files'
|
33
33
|
require 'prelands_rails/update_simple_source/check_zip_files'
|
34
34
|
require 'prelands_rails/update_simple_source/compile'
|
35
|
+
require 'prelands_rails/update_simple_source/generate_new_aws_prefix'
|
36
|
+
require 'prelands_rails/update_simple_source/remove_content_from_old_aws_prefix'
|
35
37
|
require 'prelands_rails/update_simple_source/update_record'
|
36
38
|
require 'prelands_rails/update_simple_source/upload'
|
37
39
|
require 'prelands_rails/update_simple_source/validate_zip_content'
|
@@ -39,5 +41,11 @@ require 'prelands_rails/update_simple_source'
|
|
39
41
|
|
40
42
|
require 'prelands_rails/validate_simple_source'
|
41
43
|
|
44
|
+
require 'prelands_rails/recompile_simple_source/download_zip'
|
45
|
+
require 'prelands_rails/recompile_simple_source/rename_zip_file'
|
46
|
+
require 'prelands_rails/recompile_simple_source/update_record'
|
47
|
+
require 'prelands_rails/recompile_simple_source/upload'
|
48
|
+
require 'prelands_rails/recompile_simple_source'
|
49
|
+
|
42
50
|
module PrelandsRails
|
43
51
|
end
|
data/prelands_rails.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prelands_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- C80609A
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-07-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: interactor
|
@@ -312,9 +312,16 @@ files:
|
|
312
312
|
- lib/prelands_rails/create_simple_source/validate_zip_content/validate_incoming_files/zip_archive.rb
|
313
313
|
- lib/prelands_rails/create_simple_source/validate_zip_content/validate_js.rb
|
314
314
|
- lib/prelands_rails/create_simple_source/validate_zip_content/validate_js/js.rb
|
315
|
+
- lib/prelands_rails/recompile_simple_source.rb
|
316
|
+
- lib/prelands_rails/recompile_simple_source/download_zip.rb
|
317
|
+
- lib/prelands_rails/recompile_simple_source/rename_zip_file.rb
|
318
|
+
- lib/prelands_rails/recompile_simple_source/update_record.rb
|
319
|
+
- lib/prelands_rails/recompile_simple_source/upload.rb
|
315
320
|
- lib/prelands_rails/update_simple_source.rb
|
316
321
|
- lib/prelands_rails/update_simple_source/check_zip_files.rb
|
317
322
|
- lib/prelands_rails/update_simple_source/compile.rb
|
323
|
+
- lib/prelands_rails/update_simple_source/generate_new_aws_prefix.rb
|
324
|
+
- lib/prelands_rails/update_simple_source/remove_content_from_old_aws_prefix.rb
|
318
325
|
- lib/prelands_rails/update_simple_source/update_record.rb
|
319
326
|
- lib/prelands_rails/update_simple_source/upload.rb
|
320
327
|
- lib/prelands_rails/update_simple_source/upload/delete_compiled_files.rb
|
@@ -343,7 +350,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
343
350
|
- !ruby/object:Gem::Version
|
344
351
|
version: '0'
|
345
352
|
requirements: []
|
346
|
-
rubygems_version: 3.1.
|
353
|
+
rubygems_version: 3.1.4
|
347
354
|
signing_key:
|
348
355
|
specification_version: 4
|
349
356
|
summary: Код, занимающийся валидацией и публикацией прелендов V4.
|