Sha256: d1ad463ae75f7f0aad8fd355ac011d943462810fc4805cc675b55f81580ef65c

Contents?: true

Size: 1.28 KB

Versions: 28

Compression:

Stored size: 1.28 KB

Contents

# frozen_string_literal: true

require 'avm/jobs/base'
require 'avm/eac_ubuntu_base0/apache'
require 'eac_ruby_utils/core_ext'

module Avm
  module EacRailsBase1
    class SystemdUnit
      JOBS = %w[write_tasks_scheduler_command write_service link_service verify_service
                reload_systemd enable_service start_service].freeze

      include ::Avm::Jobs::Base
      require_sub __FILE__, include_modules: true
      delegate :platform_instance, to: :instance

      enable_listable
      lists.add_symbol :option, :exec_run, :restart

      def description
        "#{instance.id} Tasks Scheduler"
      end

      def exec_run?
        options[OPTION_EXEC_RUN]
      end

      def option_list
        self.class.lists.option
      end

      def restart
        options[OPTION_RESTART]
      end

      def unit_name
        "#{instance.id}_tasks_scheduler.service"
      end

      def user
        instance.install_username
      end

      private

      def sudo_execute!(*args)
        platform_instance.host_env.command(['sudo'] + args).execute!
      end

      def sudo_system!(*args)
        command_args = ['sudo'] + args
        infom "Running \"#{::Shellwords.join(command_args)}\"..."
        platform_instance.host_env.command(command_args).system!
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 2 rubygems

Version Path
eac_tools-0.31.1 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.31.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.30.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.29.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.28.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.27.2 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.27.1 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
avm-eac_rails_base1-0.6.0 lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.27.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.26.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.25.1 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.25.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.24.1 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.24.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
avm-eac_rails_base1-0.5.0 lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.23.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.22.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.21.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.20.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb
eac_tools-0.19.0 sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb