eac_tools 0.86.7 → 0.86.8

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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +16 -9
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm-eac_webapp_base0/Gemfile +8 -0
  5. data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +25 -0
  6. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/executables.rb +26 -0
  7. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb +48 -0
  8. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css.rb +22 -0
  9. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/html.rb +43 -0
  10. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/javascript.rb +22 -0
  11. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/json.rb +25 -0
  12. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/provider.rb +24 -0
  13. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/xml.rb +26 -0
  14. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats.rb +11 -0
  15. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_base.rb +33 -0
  16. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_host.rb +78 -0
  17. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_path.rb +42 -0
  18. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/apache.rb +44 -0
  19. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/install.rb +22 -0
  20. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base.rb +44 -0
  21. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/appended_directories.rb +27 -0
  22. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/build.rb +50 -0
  23. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/scm.rb +72 -0
  24. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/setup_files_unit.rb +53 -0
  25. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/version.rb +26 -0
  26. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/write_on_target.rb +20 -0
  27. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy.rb +73 -0
  28. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes/web_server.rb +37 -0
  29. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes.rb +13 -0
  30. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_host.rb +36 -0
  31. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_path.rb +40 -0
  32. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/data/load.rb +60 -0
  33. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy.rb +43 -0
  34. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners.rb +13 -0
  35. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources/base.rb +15 -0
  36. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources.rb +11 -0
  37. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +7 -0
  38. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0.rb +9 -0
  39. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec.rb +7 -0
  40. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.source.css +11 -0
  41. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.target.css +11 -0
  42. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec.rb +7 -0
  43. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.source +8 -0
  44. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.target +8 -0
  45. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.source +5 -0
  46. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.target +5 -0
  47. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec.rb +7 -0
  48. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.source +29 -0
  49. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.target +21 -0
  50. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec.rb +7 -0
  51. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.source +8 -0
  52. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.target +7 -0
  53. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec.rb +7 -0
  54. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.source +11 -0
  55. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.target +9 -0
  56. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/instances/base_spec.rb +11 -0
  57. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/sources/base_spec.rb +7 -0
  58. data/sub/avm-eac_webapp_base0/spec/rubocop_spec.rb +3 -0
  59. data/sub/avm-eac_webapp_base0/spec/spec_helper.rb +4 -0
  60. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_host/no_ssl.conf +11 -0
  61. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_path/default.conf +7 -0
  62. metadata +62 -4
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/files/appender'
4
+ require 'avm/files/deploy'
5
+ require 'eac_ruby_utils/envs'
6
+ require 'eac_ruby_utils/fs/temp'
7
+
8
+ module Avm
9
+ module EacWebappBase0
10
+ module Instances
11
+ class Deploy
12
+ module Build
13
+ private
14
+
15
+ attr_accessor :build_dir
16
+
17
+ def append_instance_content
18
+ ::Avm::Files::Appender
19
+ .new
20
+ .variables_source_set(variables_source)
21
+ .append_templatized_directory(template.path)
22
+ .append_templatized_directories(appended_directories)
23
+ .append_file_content(version_target_path, version)
24
+ .write_appended_on(build_dir)
25
+ end
26
+
27
+ def build_dir_env
28
+ ::EacRubyUtils::Envs.local
29
+ end
30
+
31
+ def create_build_dir
32
+ self.build_dir = ::EacRubyUtils::Fs::Temp.directory
33
+ end
34
+
35
+ def remove_build_dir
36
+ build_dir&.remove
37
+ end
38
+
39
+ def build_content
40
+ infom 'Writing Git source code...'
41
+ scm.commit(commit_reference).deploy_to_env_path(
42
+ build_dir_env,
43
+ build_dir
44
+ ).variables_source_set(variables_source).run
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacWebappBase0
5
+ module Instances
6
+ class Deploy
7
+ module Scm
8
+ DEFAULT_REMOTE_NAME = 'origin'
9
+
10
+ def commit_reference_uncached
11
+ git_fetch
12
+ r = git.rev_parse(git_reference_found)
13
+ return r if r
14
+
15
+ raise ::Avm::Result::Error, "No commit SHA1 found for \"#{git_reference_found}\""
16
+ end
17
+
18
+ def git_fetch_uncached
19
+ infom "Fetching remote \"#{git_remote_name}\" from \"#{git_repository_path}\"..."
20
+ git.remote(git_remote_name).fetch
21
+ end
22
+
23
+ def git_reference
24
+ options[OPTION_REFERENCE] || DEFAULT_REFERENCE
25
+ end
26
+
27
+ def git_reference_found_uncached
28
+ %w[git_reference instance_branch master_branch].map { |b| send(b) }.find(&:present?) ||
29
+ raise(
30
+ ::Avm::Result::Error,
31
+ 'No git reference found (Searched for option, instance and master)'
32
+ )
33
+ end
34
+
35
+ def git_remote_hashs_uncached
36
+ git.remote(git_remote_name).ls.hashes
37
+ end
38
+
39
+ def git_remote_name
40
+ DEFAULT_REMOTE_NAME
41
+ end
42
+
43
+ def git_repository_path
44
+ instance.source_instance.read_entry(::Avm::Instances::EntryKeys::INSTALL_PATH)
45
+ end
46
+
47
+ # @return [EacGit::Local]
48
+ def git_uncached
49
+ scm.git_repo
50
+ end
51
+
52
+ def instance_branch
53
+ remote_branch(instance.id)
54
+ end
55
+
56
+ def remote_branch(name)
57
+ git_remote_hashs.key?("refs/heads/#{name}") ? "#{git_remote_name}/#{name}" : nil
58
+ end
59
+
60
+ def master_branch
61
+ remote_branch('master')
62
+ end
63
+
64
+ # @return [Avm::Scms::Base]
65
+ def scm
66
+ instance.application.local_source.scm
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacWebappBase0
5
+ module Instances
6
+ class Deploy
7
+ class SetupFilesUnit < ::SimpleDelegator
8
+ enable_method_class
9
+ attr_reader :data_key, :fs_path_subpath
10
+
11
+ def initialize(deploy, data_key, fs_path_subpath)
12
+ super(deploy)
13
+ @data_key = data_key
14
+ @fs_path_subpath = fs_path_subpath
15
+ end
16
+
17
+ def result
18
+ assert_source_directory
19
+ link_source_target
20
+ end
21
+
22
+ def assert_source_directory
23
+ infom "Asserting \"#{data_key}\" source directory..."
24
+ instance.host_env.command('mkdir', '-p', source_path).execute!
25
+ end
26
+
27
+ def source_path
28
+ ::File.join(instance.install_data_path, data_key.to_s)
29
+ end
30
+
31
+ def target_path
32
+ ::File.join(instance.read_entry(::Avm::Instances::EntryKeys::INSTALL_PATH),
33
+ fs_path_subpath.to_s)
34
+ end
35
+
36
+ def link_source_target
37
+ infom "Linking \"#{data_key}\" directory..."
38
+ return unless remove_target
39
+
40
+ instance.host_env.command('ln', '-s', source_path, target_path).execute!
41
+ end
42
+
43
+ private
44
+
45
+ # @return [Boolean]
46
+ def remove_target
47
+ instance.host_env.command('rm', '-rf', target_path).execute.fetch(:exit_code).zero?
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacWebappBase0
5
+ module Instances
6
+ class Deploy
7
+ module Version
8
+ VERSION_TARGET_PATH = 'VERSION'
9
+
10
+ def version
11
+ ([::Time.now, commit_reference] + version_git_refs).join('|')
12
+ end
13
+
14
+ def version_git_refs
15
+ git_remote_hashs.select { |_name, sha1| sha1 == commit_reference }.keys
16
+ .map { |ref| ref.gsub(%r{\Arefs/}, '') }.reject { |ref| ref == 'HEAD' }
17
+ end
18
+
19
+ def version_target_path
20
+ VERSION_TARGET_PATH
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacWebappBase0
7
+ module Instances
8
+ class Deploy
9
+ module WriteOnTarget
10
+ def write_on_target
11
+ ::Avm::Files::Deploy.new(
12
+ instance.host_env,
13
+ instance.read_entry(::Avm::Instances::EntryKeys::INSTALL_PATH)
14
+ ).append_plain_directory(build_dir).run
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/callbacks'
4
+ require 'avm/entries/jobs/base'
5
+ require 'eac_ruby_utils/core_ext'
6
+ require 'eac_templates/core_ext'
7
+ require 'net/http'
8
+
9
+ module Avm
10
+ module EacWebappBase0
11
+ module Instances
12
+ class Deploy
13
+ require_sub __FILE__, include_modules: true, require_dependency: true
14
+
15
+ DEFAULT_REFERENCE = 'HEAD'
16
+
17
+ REQUEST_TEST_JOB = 'request_test'
18
+ JOBS = (%w[create_build_dir build_content append_instance_content write_on_target
19
+ setup_files_units assert_instance_branch] + [REQUEST_TEST_JOB]).freeze
20
+
21
+ include ::Avm::Entries::Jobs::Base
22
+
23
+ lists.add_symbol :option, :appended_directories, :no_request_test, :reference
24
+
25
+ def option_list
26
+ ::Avm::EacWebappBase0::Instances::Deploy.lists.option
27
+ end
28
+
29
+ def run
30
+ super
31
+ ensure
32
+ remove_build_dir
33
+ end
34
+
35
+ def start_banner
36
+ infov 'Instance', instance
37
+ infov 'Git reference (User)', git_reference.if_present('- BLANK -')
38
+ infov 'Git remote name', git_remote_name
39
+ infov 'Git reference (Found)', git_reference_found
40
+ infov 'Git commit SHA1', commit_reference
41
+ infov 'Appended directories', appended_directories
42
+ end
43
+
44
+ def setup_files_units
45
+ instance.data_package.units.values.map(&:installation_files_data).select(&:present?)
46
+ .each { |unit_install| setup_files_unit(unit_install.key, unit_install.subpath) }
47
+ end
48
+
49
+ def assert_instance_branch
50
+ infom 'Setting instance branch...'
51
+ git.command('push', git_remote_name, "#{commit_reference}:refs/heads/#{instance.id}",
52
+ '-f').execute!
53
+ end
54
+
55
+ def request_test
56
+ infom 'Requesting web interface...'
57
+ uri = URI(instance.read_entry('web.url'))
58
+ response = ::Net::HTTP.get_response(uri)
59
+ infov 'Response status', response.code
60
+ fatal_error "Request to #{uri} failed" unless response.code.to_i == 200
61
+ end
62
+
63
+ protected
64
+
65
+ def jobs
66
+ r = super
67
+ r.delete(REQUEST_TEST_JOB) if options[OPTION_NO_REQUEST_TEST]
68
+ r
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/process'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacWebappBase0
8
+ module Instances
9
+ module Processes
10
+ class WebServer < ::Avm::Instances::Process
11
+ def available?
12
+ instance.apache_resource.present?
13
+ end
14
+
15
+ def enable
16
+ apache_resource_change(__method__)
17
+ end
18
+
19
+ def enabled?
20
+ instance.apache_resource.enabled?
21
+ end
22
+
23
+ def disable
24
+ apache_resource_change(__method__)
25
+ end
26
+
27
+ private
28
+
29
+ def apache_resource_change(action)
30
+ instance.apache_resource.send(action)
31
+ instance.platform_instance.apache.service(:reload)
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacWebappBase0
7
+ module Instances
8
+ module Processes
9
+ require_sub __FILE__
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/core_ext'
4
+
5
+ module Avm
6
+ module EacWebappBase0
7
+ module Instances
8
+ module Runners
9
+ class ApacheHost
10
+ runner_with :help do
11
+ desc 'Configure Apache virtual host for instance.'
12
+ bool_opt '-c', '--certbot', 'Install certbot.'
13
+ end
14
+
15
+ def run
16
+ result = stereotype_apache_host_class.new(runner_context.call(:instance),
17
+ stereotype_apache_host_options).run
18
+ if result.error?
19
+ fatal_error result.to_s
20
+ else
21
+ infov 'Result', result.label
22
+ end
23
+ end
24
+
25
+ def stereotype_apache_host_class
26
+ "#{runner_context.call(:instance).class.name.deconstantize}::ApacheHost".constantize
27
+ end
28
+
29
+ def stereotype_apache_host_options
30
+ { certbot: parsed.certbot? }
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/core_ext'
4
+
5
+ module Avm
6
+ module EacWebappBase0
7
+ module Instances
8
+ module Runners
9
+ class ApachePath
10
+ runner_with :help do
11
+ desc 'Configure Apache path configuration for instance.'
12
+ end
13
+
14
+ def run
15
+ infov 'ApachePath class', stereotype_apache_path_class
16
+ if result.error?
17
+ fatal_error result.to_s
18
+ else
19
+ infov 'Result', result.label
20
+ end
21
+ end
22
+
23
+ private
24
+
25
+ def apache_path_uncached
26
+ stereotype_apache_path_class.new(runner_context.call(:instance))
27
+ end
28
+
29
+ def result_uncached
30
+ apache_path.run
31
+ end
32
+
33
+ def stereotype_apache_path_class
34
+ runner_context.call(:instance).apache_path_class
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/core_ext/numeric/time'
4
+ require 'avm/result'
5
+ require 'eac_cli/speaker'
6
+ require 'eac_ruby_utils/simple_cache'
7
+
8
+ module Avm
9
+ module EacWebappBase0
10
+ module Instances
11
+ module Runners
12
+ class Data
13
+ class Load
14
+ runner_with :help do
15
+ desc 'Load utility for EacRailsBase instance.'
16
+ arg_opt '-S', '--source-instance', 'Informa a instância a ser extraída o dump.'
17
+ pos_arg :dump_path, optional: true
18
+ end
19
+
20
+ def run
21
+ return fatal_error("Dump \"#{dump_path}\" does not exist") unless
22
+ ::File.exist?(dump_path)
23
+
24
+ load_dump
25
+ success("Dump loaded from \"#{dump_path}\"")
26
+ end
27
+
28
+ def dump_path_uncached
29
+ return parsed.dump_path.to_s if parsed.dump_path.present?
30
+ return source_instance_dump_path if parsed.source_instance.present?
31
+
32
+ raise "Dump path unknown (Options: #{parsed})"
33
+ end
34
+
35
+ def source_instance_dump_path
36
+ runner_context.call(:instance).class.by_id(parsed.source_instance).run_subcommand(
37
+ ::Avm::EacWebappBase0::Instances::Runners::Data::Dump, []
38
+ )
39
+ end
40
+
41
+ def load_dump
42
+ info "Loading dump \"#{dump_path}\"..."
43
+ package_load.run
44
+ end
45
+
46
+ def dump_instance_method
47
+ :dump_database
48
+ end
49
+
50
+ private
51
+
52
+ def package_load_uncached
53
+ runner_context.call(:instance).data_package.load(dump_path)
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/runner'
4
+ require 'avm/path_string'
5
+ require 'eac_cli/core_ext'
6
+
7
+ module Avm
8
+ module EacWebappBase0
9
+ module Instances
10
+ module Runners
11
+ class Deploy
12
+ runner_with :help do
13
+ desc 'Deploy for instance.'
14
+ arg_opt '-r', '--reference', 'Git reference to deploy.'
15
+ arg_opt '-a', '--append-dirs', 'Append directories to deploy (List separated by ":").'
16
+ bool_opt '-T', '--no-request-test', 'Do not test web interface after deploy.'
17
+ end
18
+
19
+ def deploy_class
20
+ runner_context.call(:stereotype_module).const_get('Instances').const_get('Deploy')
21
+ rescue ::NameError
22
+ runner_context.call(:stereotype_module).const_get('Deploy')
23
+ end
24
+
25
+ def run
26
+ result = deploy_class.new(runner_context.call(:instance), deploy_options).run
27
+ if result.error?
28
+ fatal_error result.to_s
29
+ else
30
+ infov 'Result', result.label
31
+ end
32
+ end
33
+
34
+ def deploy_options
35
+ { reference: parsed.reference,
36
+ appended_directories: ::Avm::PathString.paths(parsed.append_dirs),
37
+ no_request_test: parsed.no_request_test? }
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacWebappBase0
7
+ module Instances
8
+ module Runners
9
+ require_sub __FILE__
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_generic_base0/sources/base'
4
+
5
+ module Avm
6
+ module EacWebappBase0
7
+ module Sources
8
+ class Base < ::Avm::EacGenericBase0::Sources::Base
9
+ def valid?
10
+ false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacWebappBase0
7
+ module Sources
8
+ require_sub __FILE__
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacWebappBase0
5
+ VERSION = '0.18.4'
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacWebappBase0
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_webapp_base0/file_formats/css'
4
+
5
+ RSpec.describe Avm::EacWebappBase0::FileFormats::Css do
6
+ include_examples 'avm_file_formats_with_fixtures', __FILE__
7
+ end
@@ -0,0 +1,11 @@
1
+
2
+ h1, h2 { font-color: red }
3
+
4
+
5
+ /* Comment */
6
+
7
+
8
+ .teste
9
+ {
10
+ border-style: dashed
11
+ }
@@ -0,0 +1,11 @@
1
+ h1, h2 {
2
+ font-color: red;
3
+ }
4
+
5
+
6
+ /* Comment */
7
+
8
+
9
+ .teste {
10
+ border-style: dashed;
11
+ }
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_webapp_base0/file_formats/html'
4
+
5
+ RSpec.describe Avm::EacWebappBase0::FileFormats::Html do
6
+ include_examples 'avm_file_formats_with_fixtures', __FILE__
7
+ end
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <body>
3
+ <p>Unformatted code</p>
4
+ <% array.each do |item| %>
5
+ <%= '<b>' + item + '</br>' %>
6
+ <% end %>
7
+ </body>
8
+ </html>
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <body>
3
+ <p>Unformatted code</p>
4
+ <% array.each do |item| %>
5
+ <%= '<b>' + item + '</br>' %>
6
+ <% end %>
7
+ </body>
8
+ </html>
@@ -0,0 +1,5 @@
1
+ <html>
2
+ <body>
3
+ <p>Unformatted code</p>
4
+ </body>
5
+ </html>
@@ -0,0 +1,5 @@
1
+ <html>
2
+ <body>
3
+ <p>Unformatted code</p>
4
+ </body>
5
+ </html>
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_webapp_base0/file_formats/javascript'
4
+
5
+ RSpec.describe Avm::EacWebappBase0::FileFormats::Javascript do
6
+ include_examples 'avm_file_formats_with_fixtures', __FILE__
7
+ end