Sha256: 1e0800de8279fe492a5c33bfedf68330b67cd8e7f8ee7925df20c50c4e8e81da

Contents?: true

Size: 825 Bytes

Versions: 11

Compression:

Stored size: 825 Bytes

Contents

# frozen_string_literal: true

require 'eac_launcher/paths/real'
require 'eac_ruby_utils/core_ext'
require 'avm/projects/stereotypes'

module Avm
  module LocalProjects
    class Instance
      enable_simple_cache
      common_constructor :path do
        self.path = path.to_pathname
        source_stereotypes_mixins
      end

      # Backward compatibility with [EacLauncher::Paths::Logical].
      # @return [EacLauncher::Paths::Real].
      def real
        ::EacLauncher::Paths::Real.new(path.to_path)
      end

      private

      def stereotypes_uncached
        ::Avm::Projects::Stereotypes.list.select { |s| s.match?(self) }
      end

      def source_stereotypes_mixins
        stereotypes.each do |s|
          s.local_project_mixin_module.if_present { |v| extend(v) }
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
avm-tools-0.64.2 lib/avm/local_projects/instance.rb
avm-tools-0.64.1 lib/avm/local_projects/instance.rb
avm-tools-0.64.0 lib/avm/local_projects/instance.rb
avm-tools-0.63.0 lib/avm/local_projects/instance.rb
avm-tools-0.62.4 lib/avm/local_projects/instance.rb
avm-tools-0.62.3 lib/avm/local_projects/instance.rb
avm-tools-0.62.2 lib/avm/local_projects/instance.rb
avm-tools-0.62.1 lib/avm/local_projects/instance.rb
avm-tools-0.62.0 lib/avm/local_projects/instance.rb
avm-tools-0.61.0 lib/avm/local_projects/instance.rb
avm-tools-0.60.0 lib/avm/local_projects/instance.rb