avm-eac_rails_base1 0.1.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 84e7ead24bc20b5a8c2d3e60ad4d3506cfd6e5f40245ede5ca1a8cf3ce48c5ac
4
+ data.tar.gz: 761af4c8bef7076f948b741be7e69a2c9b5f25a8a64e090023f5064c68ad099b
5
+ SHA512:
6
+ metadata.gz: a7ec4372255c4c56b3a7c382f10570af8d36ef6cfccb70d6b098b667315a787cad2866aea9da5b7143e4b477556154785ce95d0d9dd9615dfdce265b9f228d8e
7
+ data.tar.gz: 60bc23445de8be934f22d49f68284af8ea0997c84332a43fe89425abccf6c5e0a529370f760341b9407ee012e1069c498d4d594d8d0f6f1690e67ef4ad16c882
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRailsBase1
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_webapp_base0/apache_host'
4
+
5
+ module Avm
6
+ module EacRailsBase1
7
+ class ApacheHost < ::Avm::EacWebappBase0::ApacheHost
8
+ def document_root
9
+ "#{instance.read_entry(::Avm::Instances::EntryKeys::FS_PATH)}/public"
10
+ end
11
+
12
+ def extra_content
13
+ 'PassengerEnabled On'
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_webapp_base0/instance'
4
+ require 'eac_ruby_gems_utils/gem'
5
+
6
+ module Avm
7
+ module EacRailsBase1
8
+ class Instance < ::Avm::EacWebappBase0::Instance
9
+ DEFAULT_RAILS_ENVIRONMENT = 'production'
10
+
11
+ def bundle(*args)
12
+ the_gem.bundle(*args).chdir_root.envvar('RAILS_ENV', DEFAULT_RAILS_ENVIRONMENT)
13
+ end
14
+
15
+ def rake(*args)
16
+ bundle('exec', 'rake', *args)
17
+ end
18
+
19
+ def the_gem
20
+ @the_gem ||= ::EacRubyGemsUtils::Gem.new(::File.join(read_entry('fs_path')), host_env)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_webapp_base0/runner'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacRailsBase1
8
+ class Runner < ::Avm::EacWebappBase0::Runner
9
+ require_sub __FILE__
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_rails_base1/runner_with/bundle'
4
+ require 'eac_cli/core_ext'
5
+ require 'shellwords'
6
+
7
+ module Avm
8
+ module EacRailsBase1
9
+ class Runner < ::Avm::EacWebappBase0::Runner
10
+ class Bundle
11
+ runner_with ::Avm::EacRailsBase1::RunnerWith::Bundle, :help do
12
+ desc 'Runs "bundle ...".'
13
+ pos_arg :'bundle-args', repeat: true, optional: true
14
+ end
15
+
16
+ def run
17
+ bundle_run
18
+ end
19
+
20
+ def bundle_args
21
+ parsed.bundle_args.reject { |arg| arg == '--' }
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_rails_base1/runner_with/bundle'
4
+ require 'eac_cli/core_ext'
5
+
6
+ module Avm
7
+ module EacRailsBase1
8
+ class Runner < ::Avm::EacWebappBase0::Runner
9
+ class CodeRunner
10
+ runner_with :help, ::Avm::EacRailsBase1::RunnerWith::Bundle do
11
+ desc 'Runs a Ruby code with "rails runner".'
12
+ pos_arg :code
13
+ end
14
+
15
+ def run
16
+ infov 'Environment', runner_context.call(:instance).host_env
17
+ bundle_run
18
+ end
19
+
20
+ def bundle_args
21
+ %w[exec rails runner] + [parsed.code]
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_rails_base1/runner_with/rails_environment'
4
+ require 'avm/eac_webapp_base0/runner'
5
+
6
+ module Avm
7
+ module EacRailsBase1
8
+ class Runner < ::Avm::EacWebappBase0::Runner
9
+ class Log
10
+ runner_with :help, ::Avm::EacRailsBase1::RunnerWith::RailsEnvironment do
11
+ desc 'Read application\'s log.'
12
+ bool_opt '-f', '--follow', 'Output appended data as the log grows.'
13
+ end
14
+
15
+ def run
16
+ start_banner
17
+ tail_command.system
18
+ end
19
+
20
+ private
21
+
22
+ def log_path
23
+ ::File.join(rails_instance.read_entry('fs_path'), 'log', "#{rails_environment}.log")
24
+ end
25
+
26
+ def start_banner
27
+ infov 'Environment', rails_environment
28
+ infov 'Log path', log_path
29
+ end
30
+
31
+ def tail_command
32
+ rails_instance.host_env.command(*tail_command_args)
33
+ end
34
+
35
+ def tail_command_args
36
+ r = %w[tail]
37
+ r << '--follow' if parsed.follow?
38
+ r + [log_path]
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/core_ext'
4
+ require 'avm/eac_webapp_base0/runner'
5
+
6
+ module Avm
7
+ module EacRailsBase1
8
+ class Runner < ::Avm::EacWebappBase0::Runner
9
+ class Logs
10
+ require_sub __FILE__
11
+ runner_with :help, :subcommands do
12
+ desc 'Manipule multiple application\'s logs.'
13
+ subcommands
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_rails_base1/runner_with/rails_environment'
4
+ require 'avm/eac_webapp_base0/runner'
5
+
6
+ module Avm
7
+ module EacRailsBase1
8
+ class Runner < ::Avm::EacWebappBase0::Runner
9
+ class Logs
10
+ class Clear
11
+ runner_with :help, ::Avm::EacRailsBase1::RunnerWith::Bundle do
12
+ desc 'Clear logs.'
13
+ end
14
+
15
+ def run
16
+ bundle_run
17
+ end
18
+
19
+ def bundle_args
20
+ %w[exec rake log:clear]
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_rails_base1/runner_with/bundle'
4
+ require 'avm/instances/entry_keys'
5
+ require 'eac_cli/core_ext'
6
+ require 'shellwords'
7
+
8
+ module Avm
9
+ module EacRailsBase1
10
+ class Runner < ::Avm::EacWebappBase0::Runner
11
+ class RailsServer
12
+ DEFAULT_RAILS_ENVIRONMENT = 'development'
13
+ runner_with :help, ::Avm::EacRailsBase1::RunnerWith::Bundle do
14
+ desc 'Run the embbeded Rails web server.'
15
+ end
16
+
17
+ def run
18
+ infov 'Environment', rails_environment
19
+ infov 'Bundle args', ::Shellwords.join(bundle_args)
20
+ infov 'Result', bundle_command.system
21
+ end
22
+
23
+ protected
24
+
25
+ def bundle_args
26
+ ['exec', 'rails', 'server', '--port',
27
+ runner_context.call(:instance).read_entry(::Avm::Instances::EntryKeys::WEB_PORT)]
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_rails_base1/instance'
4
+ require 'avm/eac_rails_base1/runner_with/rails_environment'
5
+ require 'eac_cli/runner'
6
+
7
+ module Avm
8
+ module EacRailsBase1
9
+ module RunnerWith
10
+ module Bundle
11
+ common_concern do
12
+ include ::Avm::EacRailsBase1::RunnerWith::RailsEnvironment
13
+ end
14
+
15
+ def bundle_command
16
+ rails_instance.bundle(*bundle_args).envvar('RAILS_ENV', rails_environment)
17
+ end
18
+
19
+ def bundle_run
20
+ infov 'Bundle arguments', ::Shellwords.join(bundle_args)
21
+ infov 'Rails environment', rails_environment
22
+ bundle_command.system!
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_rails_base1/instance'
4
+ require 'eac_cli/runner'
5
+
6
+ module Avm
7
+ module EacRailsBase1
8
+ module RunnerWith
9
+ module RailsEnvironment
10
+ DEFAULT_RAILS_ENVIRONMENT_CONSTANT = 'DEFAULT_RAILS_ENVIRONMENT'
11
+
12
+ common_concern do
13
+ include ::EacCli::Runner
14
+
15
+ runner_definition do
16
+ arg_opt '-e', '--environment', 'Specifies the environment for the runner to operate' \
17
+ ' (test/development/production). Default: "development".'
18
+ end
19
+ end
20
+
21
+ module ClassMethods
22
+ def default_rails_environment
23
+ const_get(DEFAULT_RAILS_ENVIRONMENT_CONSTANT)
24
+ rescue ::NameError
25
+ ::Avm::EacRailsBase1::Instance::DEFAULT_RAILS_ENVIRONMENT
26
+ end
27
+ end
28
+
29
+ def default_rails_environment
30
+ self.class.default_rails_environment
31
+ end
32
+
33
+ def rails_environment
34
+ parsed.environment.presence || default_rails_environment
35
+ end
36
+
37
+ def rails_instance
38
+ if respond_to?(:runner_context)
39
+ runner_context.call(:instance)
40
+ else
41
+ context(:instance)
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module EacRailsBase1
5
+ VERSION = '0.1.0'
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,96 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: avm-eac_rails_base1
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Put here the authors
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-07-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: avm-eac_webapp_base0
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: eac_ruby_utils
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.68'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.68'
41
+ - !ruby/object:Gem::Dependency
42
+ name: eac_ruby_gem_support
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.2'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.2'
55
+ description:
56
+ email:
57
+ executables: []
58
+ extensions: []
59
+ extra_rdoc_files: []
60
+ files:
61
+ - lib/avm/eac_rails_base1.rb
62
+ - lib/avm/eac_rails_base1/apache_host.rb
63
+ - lib/avm/eac_rails_base1/instance.rb
64
+ - lib/avm/eac_rails_base1/runner.rb
65
+ - lib/avm/eac_rails_base1/runner/bundle.rb
66
+ - lib/avm/eac_rails_base1/runner/code_runner.rb
67
+ - lib/avm/eac_rails_base1/runner/log.rb
68
+ - lib/avm/eac_rails_base1/runner/logs.rb
69
+ - lib/avm/eac_rails_base1/runner/logs/clear.rb
70
+ - lib/avm/eac_rails_base1/runner/rails_server.rb
71
+ - lib/avm/eac_rails_base1/runner_with/bundle.rb
72
+ - lib/avm/eac_rails_base1/runner_with/rails_environment.rb
73
+ - lib/avm/eac_rails_base1/version.rb
74
+ homepage:
75
+ licenses: []
76
+ metadata: {}
77
+ post_install_message:
78
+ rdoc_options: []
79
+ require_paths:
80
+ - lib
81
+ required_ruby_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ required_rubygems_version: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ requirements: []
92
+ rubygems_version: 3.0.9
93
+ signing_key:
94
+ specification_version: 4
95
+ summary: Put here de description.
96
+ test_files: []