Module: Avm::Launcher::Instances::Base

Defined in:
lib/avm/launcher/instances/base.rb,
lib/avm/launcher/instances/base/cache.rb,
lib/avm/launcher/instances/base/publishing.rb

Defined Under Namespace

Modules: Cache, Publishing

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#parentObject

Returns the value of attribute parent.



33
34
35
# File 'lib/avm/launcher/instances/base.rb', line 33

def parent
  @parent
end

Class Method Details

.extend_object(object) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/avm/launcher/instances/base.rb', line 12

def extend_object(object)
  object.extend ::EacRubyUtils::SimpleCache
  object.extend ::EacRubyUtils::Speaker::Sender
  object.extend ::Avm::Launcher::Instances::Base::Cache
  object.extend ::Avm::Launcher::Instances::Base::Publishing
  super
end

.instanciate(path, parent) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/avm/launcher/instances/base.rb', line 20

def instanciate(path, parent)
  unless path.is_a?(::Avm::Launcher::Instances::Base)
    raise ::Avm::Launcher::Errors::NonProject, path unless path.project?

    path.extend(::Avm::Launcher::Instances::Base)
    path.parent = parent
  end
  path
end

Instance Method Details

#applicationAvm::Applications::Base



36
37
38
# File 'lib/avm/launcher/instances/base.rb', line 36

def application
  @application ||= ::Avm::Registry.applications.detect(project_name)
end

#included?Boolean

Returns:

  • (Boolean)


62
63
64
# File 'lib/avm/launcher/instances/base.rb', line 62

def included?
  ::Avm::Launcher::Context.current.settings.excluded_projects.exclude?(project_name)
end

#nameObject



40
41
42
# File 'lib/avm/launcher/instances/base.rb', line 40

def name
  logical
end

#project?Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/avm/launcher/instances/base.rb', line 54

def project?
  stereotypes.any?
end

#project_nameObject



58
59
60
# File 'lib/avm/launcher/instances/base.rb', line 58

def project_name
  ::File.basename(logical)
end

#stereotype?(stereotype) ⇒ Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/avm/launcher/instances/base.rb', line 44

def stereotype?(stereotype)
  stereotypes.include?(stereotype)
end

#to_hObject



66
67
68
# File 'lib/avm/launcher/instances/base.rb', line 66

def to_h
  super.to_h.merge(parent: parent&.logical)
end

#to_parent_pathObject



48
49
50
51
52
# File 'lib/avm/launcher/instances/base.rb', line 48

def to_parent_path
  return self unless @parent

  logical.gsub(/\A#{Regexp.quote(@parent.logical)}/, '')
end