prelands_rails 0.1.0 → 0.1.2
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/.ci/dver.rb +5 -0
- data/.dockerignore +17 -0
- data/.gitlab-ci.yml +30 -0
- data/.rspec +0 -1
- data/Dockerfile +27 -0
- data/Gemfile.lock +9 -1
- data/Makefile +11 -0
- data/build_and_push.sh +4 -0
- data/docker-compose.local.yml +9 -0
- data/lib/prelands_rails/concerns/base.rb +11 -3
- data/lib/prelands_rails/create_simple_source/check_zip_files/extract_files.rb +2 -2
- data/lib/prelands_rails/create_simple_source/check_zip_files.rb +4 -0
- data/lib/prelands_rails/create_simple_source/upload.rb +1 -1
- data/lib/prelands_rails/create_simple_source/validate_zip_content/validate_css/css.rb +60 -0
- data/lib/prelands_rails/create_simple_source/validate_zip_content/validate_css.rb +35 -0
- data/lib/prelands_rails/create_simple_source/validate_zip_content/validate_incoming_files/zip_archive.rb +88 -0
- data/lib/prelands_rails/create_simple_source/validate_zip_content/validate_incoming_files.rb +31 -0
- data/lib/prelands_rails/create_simple_source/validate_zip_content.rb +1 -1
- data/lib/prelands_rails.rb +4 -2
- data/prelands_rails.gemspec +10 -7
- metadata +61 -25
- data/.travis.yml +0 -6
- data/lib/prelands_rails/version.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bb269383807073d60b3d1bbbc793a0537fe1c5b1871a61e8767af3013a8a2742
|
4
|
+
data.tar.gz: add40d4bae32d158efa85befd0a18189e2ae1297679734c6963097cf64dc3ae5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 24ebaa868025398394259598cc51af5f1be747ddb20cd4686119656144cc4b24fff0f3b8fef108091d2faaf918266f9b552804298e1d4064ead74d99e786f4ac
|
7
|
+
data.tar.gz: 53c7459c4e48e4e30f78e4375f2825ad8e0e9ca4088a076ef20be4fb6d84c27b1685cf5d66ee4a000b8af192cdb554fb5a3563b5bbfbe5b2ae775a93d133141a
|
data/.ci/dver.rb
ADDED
data/.dockerignore
ADDED
data/.gitlab-ci.yml
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
stages:
|
2
|
+
- test
|
3
|
+
- gem_build
|
4
|
+
- gem_push
|
5
|
+
|
6
|
+
default:
|
7
|
+
image: registry.gitlab.com/c80609a/prelands_rails:latest
|
8
|
+
|
9
|
+
publish:gem:
|
10
|
+
stage: gem_push
|
11
|
+
image: ruby:2.7
|
12
|
+
before_script:
|
13
|
+
- mkdir -p ~/.gem
|
14
|
+
- wget "${CREDS}" -O ~/.gem/credentials
|
15
|
+
- chmod 0600 ~/.gem/credentials
|
16
|
+
- cat ~/.gem/credentials
|
17
|
+
script:
|
18
|
+
- gem build *.gemspec
|
19
|
+
- export YVER=$(ruby .ci/dver.rb)
|
20
|
+
- echo $YVER
|
21
|
+
- gem yank prelands_rails -v $YVER
|
22
|
+
- gem push *.gem
|
23
|
+
only:
|
24
|
+
- tags
|
25
|
+
|
26
|
+
rspec:
|
27
|
+
stage: test
|
28
|
+
script:
|
29
|
+
- rspec
|
30
|
+
|
data/.rspec
CHANGED
data/Dockerfile
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# Stage: ruby ##########################################################################################################
|
2
|
+
FROM ruby:2.7.3-alpine3.13 as ruby
|
3
|
+
LABEL description="Base ruby image used by other stages"
|
4
|
+
|
5
|
+
# Stage runner #########################################################################################################
|
6
|
+
FROM ruby as runner
|
7
|
+
LABEL description="Builds an image ready to be run"
|
8
|
+
|
9
|
+
# Install build deps and gems from all environments under vendor/bundle path
|
10
|
+
RUN apk add --update --no-cache \
|
11
|
+
build-base git zip sqlite-dev shared-mime-info
|
12
|
+
|
13
|
+
RUN addgroup -g 1000 -S app \
|
14
|
+
&& adduser -u 1000 -S app -G app \
|
15
|
+
&& mkdir -p /home/app/tmp \
|
16
|
+
&& chown -R app:app /home/app
|
17
|
+
|
18
|
+
USER app
|
19
|
+
WORKDIR /home/app
|
20
|
+
|
21
|
+
# Copy source files according to .dockerignore policy
|
22
|
+
# Make sure your .dockerignore file is properly configure to ensure proper layer caching
|
23
|
+
COPY --chown=app:app . /home/app
|
24
|
+
|
25
|
+
RUN bundle install --jobs 8 --retry 3
|
26
|
+
|
27
|
+
ENTRYPOINT ["bundle", "exec"]
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
prelands_rails (0.1.
|
4
|
+
prelands_rails (0.1.1)
|
5
5
|
aws-sdk
|
6
6
|
interactor (~> 3.0)
|
7
7
|
interactor-contracts
|
@@ -1399,6 +1399,10 @@ GEM
|
|
1399
1399
|
rake (>= 0.8.7)
|
1400
1400
|
thor (>= 0.20.3, < 2.0)
|
1401
1401
|
rake (12.3.3)
|
1402
|
+
rspec (3.10.0)
|
1403
|
+
rspec-core (~> 3.10.0)
|
1404
|
+
rspec-expectations (~> 3.10.0)
|
1405
|
+
rspec-mocks (~> 3.10.0)
|
1402
1406
|
rspec-core (3.10.1)
|
1403
1407
|
rspec-support (~> 3.10.0)
|
1404
1408
|
rspec-expectations (3.10.1)
|
@@ -1429,6 +1433,8 @@ GEM
|
|
1429
1433
|
thread_safe (0.3.6)
|
1430
1434
|
tzinfo (1.2.9)
|
1431
1435
|
thread_safe (~> 0.1)
|
1436
|
+
tzinfo-data (1.2021.5)
|
1437
|
+
tzinfo (>= 1.0.0)
|
1432
1438
|
websocket-driver (0.7.5)
|
1433
1439
|
websocket-extensions (>= 0.1.0)
|
1434
1440
|
websocket-extensions (0.1.5)
|
@@ -1449,8 +1455,10 @@ DEPENDENCIES
|
|
1449
1455
|
rails (= 6.0.2.1)
|
1450
1456
|
rails-controller-testing
|
1451
1457
|
rake (~> 12.0)
|
1458
|
+
rspec
|
1452
1459
|
rspec-rails (~> 4.0)
|
1453
1460
|
sqlite3
|
1461
|
+
tzinfo-data
|
1454
1462
|
|
1455
1463
|
BUNDLED WITH
|
1456
1464
|
2.1.4
|
data/Makefile
CHANGED
@@ -1,4 +1,15 @@
|
|
1
|
+
.PHONY: test all
|
2
|
+
|
1
3
|
DIR = $(shell pwd)
|
2
4
|
|
3
5
|
setup_local_gem:
|
4
6
|
bundle config local.prelands_rails $(DIR)
|
7
|
+
|
8
|
+
all:
|
9
|
+
@docker-compose -f docker-compose.local.yml build
|
10
|
+
|
11
|
+
test:
|
12
|
+
@docker-compose -f docker-compose.local.yml run runner rspec
|
13
|
+
|
14
|
+
build_and_push_docker:
|
15
|
+
./build_and_push.sh
|
data/build_and_push.sh
ADDED
@@ -5,8 +5,11 @@ module PrelandsRails
|
|
5
5
|
|
6
6
|
private
|
7
7
|
|
8
|
-
RX_HTML_FILE
|
9
|
-
|
8
|
+
RX_HTML_FILE = /\.html/
|
9
|
+
RX_CSS_FILE = /\.css/.freeze
|
10
|
+
NAME_RX = /index_(\w{2})\.html/
|
11
|
+
# DIST_FOLDER = 'dist'
|
12
|
+
# KNOWN_FILES_EXTENSIONS = /\.(gif|jpe?g|tiff?|png|webp|bmp|mov|avi|wmv|flv|3gp|mp4|mpg|css|js|ico|icon)/.freeze
|
10
13
|
|
11
14
|
# извлекаем входящие html файлы из контекста
|
12
15
|
def incoming_html_files
|
@@ -18,8 +21,13 @@ module PrelandsRails
|
|
18
21
|
context.compiled_htmls.select { |key| key =~ RX_HTML_FILE }
|
19
22
|
end
|
20
23
|
|
24
|
+
# извлекаем входящие css файлы из контекста
|
25
|
+
def incoming_css_files
|
26
|
+
context.files_content.select { |key| key =~ RX_CSS_FILE }
|
27
|
+
end
|
28
|
+
|
21
29
|
def make_tmp_path
|
22
|
-
'tmp
|
30
|
+
'/tmp/%s' % SecureRandom.uuid
|
23
31
|
end
|
24
32
|
end
|
25
33
|
end
|
@@ -12,14 +12,14 @@ module PrelandsRails
|
|
12
12
|
next unless expected_files.find_index { |efile| efile.name == entry.name }.present?
|
13
13
|
|
14
14
|
# Extract
|
15
|
-
tmp_path =
|
15
|
+
tmp_path = make_tmp_path
|
16
16
|
entry.extract tmp_path
|
17
17
|
|
18
18
|
# Read into memory
|
19
19
|
content = entry.get_input_stream.read
|
20
20
|
|
21
21
|
# Remove tmp file
|
22
|
-
File.delete(tmp_path) if File.exist?(tmp_path)
|
22
|
+
# File.delete(tmp_path) if File.exist?(tmp_path)
|
23
23
|
|
24
24
|
[entry.name, content]
|
25
25
|
end.compact.to_h
|
@@ -27,6 +27,7 @@ module PrelandsRails
|
|
27
27
|
|
28
28
|
assures do
|
29
29
|
required(:files_content).value(type?: Hash) # js,html,css: { file_name => file_content, ... }
|
30
|
+
required(:incoming_files).value(type?: Array) # список всех файлов архива { ftype, name }
|
30
31
|
end
|
31
32
|
|
32
33
|
before do
|
@@ -56,6 +57,9 @@ module PrelandsRails
|
|
56
57
|
rx1 = /\.(css|js|html)/
|
57
58
|
files = @expected_files.select { |file| file.ftype == :file && file.name =~ rx1 }
|
58
59
|
context.files_content, context.tmp_paths = read_into_memory files, context.archive.tempfile
|
60
|
+
|
61
|
+
# фиксируем список всех файлов из архива
|
62
|
+
context.incoming_files = incoming_files
|
59
63
|
end
|
60
64
|
|
61
65
|
def incoming_files
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module PrelandsRails
|
4
|
+
class CreateSimpleSource
|
5
|
+
class ValidateZipContent
|
6
|
+
class ValidateCss
|
7
|
+
#
|
8
|
+
# Принимает строку с css и валидирует её.
|
9
|
+
# Правила, обязательные для всех css файлов.
|
10
|
+
#
|
11
|
+
class Css
|
12
|
+
attr_reader :errors
|
13
|
+
|
14
|
+
CUSTOM_FONTS = /\.(eot|woff|woff2|ttf)/.freeze
|
15
|
+
SVG_LINKS_DETECTED = /\.svg/.freeze
|
16
|
+
IMAGES_BAD_PATH = /\/images/.freeze
|
17
|
+
|
18
|
+
# @param [String] string Содержимое css файла.
|
19
|
+
def initialize(string)
|
20
|
+
@errors = []
|
21
|
+
@string = string
|
22
|
+
end
|
23
|
+
|
24
|
+
def valid?
|
25
|
+
@errors = [
|
26
|
+
check_svg_links,
|
27
|
+
check_images_relative_paths,
|
28
|
+
check_custom_fonts_absence
|
29
|
+
].compact
|
30
|
+
|
31
|
+
@errors.none?
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
# @return [nil] Если всё ОК
|
37
|
+
# @return [String] Иначе - вернёт сообщение об ошибке
|
38
|
+
|
39
|
+
def check_svg_links
|
40
|
+
return unless @string =~ SVG_LINKS_DETECTED
|
41
|
+
|
42
|
+
'Links to svg detected inside css file. Please, use inline variant of svg.'
|
43
|
+
end
|
44
|
+
|
45
|
+
def check_images_relative_paths
|
46
|
+
return unless @string =~ IMAGES_BAD_PATH
|
47
|
+
|
48
|
+
'Images urls in css files must be relative.'
|
49
|
+
end
|
50
|
+
|
51
|
+
def check_custom_fonts_absence
|
52
|
+
return unless @string =~ CUSTOM_FONTS
|
53
|
+
|
54
|
+
'Custom fonts detected in css files. Please, use Google fonts.'
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module PrelandsRails
|
4
|
+
class CreateSimpleSource
|
5
|
+
class ValidateZipContent
|
6
|
+
#
|
7
|
+
# Валидирует все css файлы.
|
8
|
+
#
|
9
|
+
class ValidateCss
|
10
|
+
include ::PrelandsRails::AbstractInteractor
|
11
|
+
include ::Interactor
|
12
|
+
include ::Interactor::Contracts
|
13
|
+
include ::PrelandsRails::Base
|
14
|
+
|
15
|
+
expects do
|
16
|
+
required(:files_content).value(type?: Hash) # { file_name => file_content, ... }
|
17
|
+
end
|
18
|
+
|
19
|
+
assures do
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
def act
|
24
|
+
errors =
|
25
|
+
incoming_css_files.map do |key, content|
|
26
|
+
content = Css.new(content)
|
27
|
+
next if content.valid?
|
28
|
+
[key, content.errors]
|
29
|
+
end.compact.to_h
|
30
|
+
fail! errors: errors if errors.any?
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module PrelandsRails
|
4
|
+
class CreateSimpleSource
|
5
|
+
class ValidateZipContent
|
6
|
+
class ValidateIncomingFiles
|
7
|
+
class ZipArchive
|
8
|
+
attr_reader :errors
|
9
|
+
|
10
|
+
# @param [Array<{ftype, name}>] incoming_files
|
11
|
+
def initialize(incoming_files)
|
12
|
+
@errors = []
|
13
|
+
@incoming_files = incoming_files
|
14
|
+
end
|
15
|
+
|
16
|
+
def valid?
|
17
|
+
@errors = [
|
18
|
+
check_app_js,
|
19
|
+
check_app_css,
|
20
|
+
check_favicon,
|
21
|
+
check_svg_absence
|
22
|
+
].compact
|
23
|
+
|
24
|
+
@errors.none?
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
# @return [nil] Если `index.js` находится в корне zip-архива.
|
30
|
+
# @return [String] Иначе - вернёт сообщение об ошибке
|
31
|
+
def check_app_js
|
32
|
+
check 'index.js', 'index.js',
|
33
|
+
'The «index.js» JAVASCRIPT file is not found in the zip-archive',
|
34
|
+
'The «index.js» JAVASCRIPT file is not in root of the zip-archive: expected «index.js», got «%s»'
|
35
|
+
end
|
36
|
+
|
37
|
+
def check_app_css
|
38
|
+
check 'index.css', 'index.css',
|
39
|
+
'The «index.css» STYLES file is not found in the zip-archive',
|
40
|
+
'The «index.css» STYLES file is not in root of the zip-archive: expected «index.css», got «%s»'
|
41
|
+
end
|
42
|
+
|
43
|
+
def check_favicon
|
44
|
+
check 'icon.ico', /icon\.ico/,
|
45
|
+
'favicon file is not found in the zip-archive',
|
46
|
+
'favicon file is not in root of the zip-archive: got «%s»'
|
47
|
+
end
|
48
|
+
|
49
|
+
def check_svg_absence
|
50
|
+
checka /\.svg/, 'svg files detected, move inside css'
|
51
|
+
end
|
52
|
+
|
53
|
+
protected
|
54
|
+
|
55
|
+
def check(pattern, name, absent_error, wrong_place_error)
|
56
|
+
error = absent_error
|
57
|
+
|
58
|
+
@incoming_files.each do |file|
|
59
|
+
if file.name[pattern]
|
60
|
+
error = nil
|
61
|
+
unless file.name.index(name)&.zero?
|
62
|
+
error = wrong_place_error % file.name
|
63
|
+
end
|
64
|
+
break
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
error
|
69
|
+
end
|
70
|
+
|
71
|
+
# check absence
|
72
|
+
def checka(pattern, present_error)
|
73
|
+
error = nil
|
74
|
+
|
75
|
+
@incoming_files.each do |file|
|
76
|
+
if file.name[pattern]
|
77
|
+
error = present_error
|
78
|
+
break
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
error
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module PrelandsRails
|
4
|
+
class CreateSimpleSource
|
5
|
+
class ValidateZipContent
|
6
|
+
#
|
7
|
+
# Проверит наличие файлов в zip-архиве и их требуемую вложенность.
|
8
|
+
#
|
9
|
+
class ValidateIncomingFiles
|
10
|
+
include ::PrelandsRails::AbstractInteractor
|
11
|
+
include ::Interactor
|
12
|
+
include ::Interactor::Contracts
|
13
|
+
include ::PrelandsRails::Base
|
14
|
+
|
15
|
+
expects do
|
16
|
+
required(:incoming_files).value(type?: Array) # список всех файлов архива { ftype, name }
|
17
|
+
end
|
18
|
+
|
19
|
+
assures do
|
20
|
+
end
|
21
|
+
|
22
|
+
def act
|
23
|
+
zip_archive = ZipArchive.new context.incoming_files
|
24
|
+
unless zip_archive.valid?
|
25
|
+
fail! errors: zip_archive.errors.join('; ')
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/lib/prelands_rails.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'prelands_rails/version'
|
4
|
-
|
5
3
|
require 'zip'
|
6
4
|
require 'interactor'
|
7
5
|
require 'interactor/contracts'
|
@@ -18,7 +16,11 @@ require 'prelands_rails/create_simple_source/check_zip_files'
|
|
18
16
|
require 'prelands_rails/create_simple_source/validate_zip_content/validate_html/html'
|
19
17
|
require 'prelands_rails/create_simple_source/validate_zip_content/validate_html'
|
20
18
|
require 'prelands_rails/create_simple_source/validate_zip_content/validate_js/js'
|
19
|
+
require 'prelands_rails/create_simple_source/validate_zip_content/validate_css/css'
|
20
|
+
require 'prelands_rails/create_simple_source/validate_zip_content/validate_incoming_files/zip_archive'
|
21
21
|
require 'prelands_rails/create_simple_source/validate_zip_content/validate_js'
|
22
|
+
require 'prelands_rails/create_simple_source/validate_zip_content/validate_css'
|
23
|
+
require 'prelands_rails/create_simple_source/validate_zip_content/validate_incoming_files'
|
22
24
|
require 'prelands_rails/create_simple_source/validate_zip_content'
|
23
25
|
require 'prelands_rails/create_simple_source/compile/html_compiler'
|
24
26
|
require 'prelands_rails/create_simple_source/compile'
|
data/prelands_rails.gemspec
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
if File.exist?('lib/prelands_rails/version')
|
2
|
+
lib = File.expand_path("lib", __dir__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
end
|
4
5
|
|
5
6
|
Gem::Specification.new do |spec|
|
6
7
|
spec.name = "prelands_rails"
|
7
|
-
spec.version =
|
8
|
+
spec.version = "0.1.2"
|
8
9
|
spec.authors = ["C80609A"]
|
9
10
|
spec.email = ["c080609a@gmail.com"]
|
10
11
|
|
@@ -34,15 +35,17 @@ Gem::Specification.new do |spec|
|
|
34
35
|
spec.add_dependency 'aws-sdk'
|
35
36
|
|
36
37
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
38
|
+
spec.add_development_dependency 'mimemagic'
|
39
|
+
spec.add_development_dependency 'sqlite3'
|
40
|
+
spec.add_development_dependency 'rake', '~> 12.0'
|
37
41
|
spec.add_development_dependency 'rails', '6.0.2.1'
|
38
42
|
spec.add_development_dependency 'byebug'
|
39
43
|
spec.add_development_dependency 'awesome_print'
|
40
44
|
spec.add_development_dependency 'factory_bot_rails'
|
41
45
|
spec.add_development_dependency 'database_cleaner'
|
42
|
-
spec.add_development_dependency '
|
46
|
+
spec.add_development_dependency 'rspec'
|
43
47
|
spec.add_development_dependency 'rspec-rails', '~> 4.0'
|
44
48
|
spec.add_development_dependency 'rails-controller-testing'
|
45
49
|
spec.add_development_dependency 'paperclip', '5.0.0'
|
46
|
-
spec.add_development_dependency '
|
47
|
-
spec.add_development_dependency 'sqlite3'
|
50
|
+
spec.add_development_dependency 'tzinfo-data'
|
48
51
|
end
|
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.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- C80609A
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-12-
|
11
|
+
date: 2021-12-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: interactor
|
@@ -80,6 +80,48 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '2.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: mimemagic
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: sqlite3
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rake
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '12.0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '12.0'
|
83
125
|
- !ruby/object:Gem::Dependency
|
84
126
|
name: rails
|
85
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -151,19 +193,19 @@ dependencies:
|
|
151
193
|
- !ruby/object:Gem::Version
|
152
194
|
version: '0'
|
153
195
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
196
|
+
name: rspec
|
155
197
|
requirement: !ruby/object:Gem::Requirement
|
156
198
|
requirements:
|
157
|
-
- - "
|
199
|
+
- - ">="
|
158
200
|
- !ruby/object:Gem::Version
|
159
|
-
version: '
|
201
|
+
version: '0'
|
160
202
|
type: :development
|
161
203
|
prerelease: false
|
162
204
|
version_requirements: !ruby/object:Gem::Requirement
|
163
205
|
requirements:
|
164
|
-
- - "
|
206
|
+
- - ">="
|
165
207
|
- !ruby/object:Gem::Version
|
166
|
-
version: '
|
208
|
+
version: '0'
|
167
209
|
- !ruby/object:Gem::Dependency
|
168
210
|
name: rspec-rails
|
169
211
|
requirement: !ruby/object:Gem::Requirement
|
@@ -207,21 +249,7 @@ dependencies:
|
|
207
249
|
- !ruby/object:Gem::Version
|
208
250
|
version: 5.0.0
|
209
251
|
- !ruby/object:Gem::Dependency
|
210
|
-
name:
|
211
|
-
requirement: !ruby/object:Gem::Requirement
|
212
|
-
requirements:
|
213
|
-
- - ">="
|
214
|
-
- !ruby/object:Gem::Version
|
215
|
-
version: '0'
|
216
|
-
type: :development
|
217
|
-
prerelease: false
|
218
|
-
version_requirements: !ruby/object:Gem::Requirement
|
219
|
-
requirements:
|
220
|
-
- - ">="
|
221
|
-
- !ruby/object:Gem::Version
|
222
|
-
version: '0'
|
223
|
-
- !ruby/object:Gem::Dependency
|
224
|
-
name: sqlite3
|
252
|
+
name: tzinfo-data
|
225
253
|
requirement: !ruby/object:Gem::Requirement
|
226
254
|
requirements:
|
227
255
|
- - ">="
|
@@ -241,11 +269,14 @@ executables: []
|
|
241
269
|
extensions: []
|
242
270
|
extra_rdoc_files: []
|
243
271
|
files:
|
272
|
+
- ".ci/dver.rb"
|
273
|
+
- ".dockerignore"
|
244
274
|
- ".gitignore"
|
275
|
+
- ".gitlab-ci.yml"
|
245
276
|
- ".rspec"
|
246
277
|
- ".ruby-version"
|
247
|
-
- ".travis.yml"
|
248
278
|
- CODE_OF_CONDUCT.md
|
279
|
+
- Dockerfile
|
249
280
|
- Gemfile
|
250
281
|
- Gemfile.lock
|
251
282
|
- LICENSE.txt
|
@@ -254,6 +285,8 @@ files:
|
|
254
285
|
- Rakefile
|
255
286
|
- bin/console
|
256
287
|
- bin/setup
|
288
|
+
- build_and_push.sh
|
289
|
+
- docker-compose.local.yml
|
257
290
|
- lib/prelands_rails.rb
|
258
291
|
- lib/prelands_rails/concerns/abstract_interactor.rb
|
259
292
|
- lib/prelands_rails/concerns/base.rb
|
@@ -271,8 +304,12 @@ files:
|
|
271
304
|
- lib/prelands_rails/create_simple_source/upload.rb
|
272
305
|
- lib/prelands_rails/create_simple_source/upload/uploader.rb
|
273
306
|
- lib/prelands_rails/create_simple_source/validate_zip_content.rb
|
307
|
+
- lib/prelands_rails/create_simple_source/validate_zip_content/validate_css.rb
|
308
|
+
- lib/prelands_rails/create_simple_source/validate_zip_content/validate_css/css.rb
|
274
309
|
- lib/prelands_rails/create_simple_source/validate_zip_content/validate_html.rb
|
275
310
|
- lib/prelands_rails/create_simple_source/validate_zip_content/validate_html/html.rb
|
311
|
+
- lib/prelands_rails/create_simple_source/validate_zip_content/validate_incoming_files.rb
|
312
|
+
- lib/prelands_rails/create_simple_source/validate_zip_content/validate_incoming_files/zip_archive.rb
|
276
313
|
- lib/prelands_rails/create_simple_source/validate_zip_content/validate_js.rb
|
277
314
|
- lib/prelands_rails/create_simple_source/validate_zip_content/validate_js/js.rb
|
278
315
|
- lib/prelands_rails/update_simple_source.rb
|
@@ -283,7 +320,6 @@ files:
|
|
283
320
|
- lib/prelands_rails/update_simple_source/upload/delete_compiled_files.rb
|
284
321
|
- lib/prelands_rails/update_simple_source/validate_zip_content.rb
|
285
322
|
- lib/prelands_rails/validate_simple_source.rb
|
286
|
-
- lib/prelands_rails/version.rb
|
287
323
|
- prelands_rails.gemspec
|
288
324
|
homepage: https://gitlab.com/c80609a/prelands_rails
|
289
325
|
licenses:
|
@@ -307,7 +343,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
307
343
|
- !ruby/object:Gem::Version
|
308
344
|
version: '0'
|
309
345
|
requirements: []
|
310
|
-
rubygems_version: 3.1.
|
346
|
+
rubygems_version: 3.1.6
|
311
347
|
signing_key:
|
312
348
|
specification_version: 4
|
313
349
|
summary: Код, занимающийся валидацией и публикацией прелендов V4.
|
data/.travis.yml
DELETED