Sha256: a0db532e08cb8146f64b3fbb5f043963c44b72026af93d0480aaca12a0bf8e2b

Contents?: true

Size: 1.17 KB

Versions: 11

Compression:

Stored size: 1.17 KB

Contents

# frozen_string_literal: true

module Avm
  module EacWebappBase0
    module Instances
      class Base < ::Avm::Instances::Base
        module Apache
          common_concern

          class_methods do
            # @return [Class]
            def apache_path_class
              ancestors.lazy.map { |ancestor| apache_path_class_by_ancestor(ancestor) }
                .find(&:present?) || raise("No apache patch class found for \"#{self}\"")
            end

            private

            # @param ancestor [Module]
            # @return [Class]
            def apache_path_class_by_ancestor(ancestor)
              "#{ancestor.name.deconstantize}::ApachePath".constantize
            rescue ::NameError
              nil
            end
          end

          # @return [Class]
          def apache_path_class
            self.class.apache_path_class
          end

          # @return [Avm::EacUbuntuBase0::Apache::Resource, nil]
          def apache_resource
            %i[conf site]
              .lazy
              .map { |type| platform_instance.apache.send(type, install_apache_resource_name) }
              .find(&:available?)
          end
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
avm-eac_webapp_base0-0.20.1 lib/avm/eac_webapp_base0/instances/base/apache.rb
eac_tools-0.94.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/apache.rb
avm-eac_webapp_base0-0.20.0 lib/avm/eac_webapp_base0/instances/base/apache.rb
eac_tools-0.93.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/apache.rb
avm-eac_webapp_base0-0.19.0 lib/avm/eac_webapp_base0/instances/base/apache.rb
eac_tools-0.87.0 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/apache.rb
avm-eac_webapp_base0-0.18.4 lib/avm/eac_webapp_base0/instances/base/apache.rb
eac_tools-0.86.8 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/apache.rb
eac_tools-0.84.2 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/apache.rb
avm-eac_webapp_base0-0.18.3 lib/avm/eac_webapp_base0/instances/base/apache.rb
eac_tools-0.84.1 sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/apache.rb