Class: Avm::Instances::Base
- Inherits:
-
Object
- Object
- Avm::Instances::Base
- Includes:
- AutoValues, Dockerizable, Entries, EacRubyUtils::Listable, EacRubyUtils::SimpleCache
- Defined in:
- lib/avm/instances/base.rb,
lib/avm/instances/base/auto_values.rb,
lib/avm/instances/base/dockerizable.rb,
lib/avm/instances/base/auto_values/web.rb,
lib/avm/instances/base/auto_values/data.rb,
lib/avm/instances/base/auto_values/ruby.rb,
lib/avm/instances/base/auto_values/admin.rb,
lib/avm/instances/base/auto_values/access.rb,
lib/avm/instances/base/auto_values/source.rb,
lib/avm/instances/base/auto_values/system.rb,
lib/avm/instances/base/auto_values/database.rb,
lib/avm/instances/base/auto_values/filesystem.rb
Direct Known Subclasses
Defined Under Namespace
Modules: AutoValues, Dockerizable
Constant Summary collapse
- ID_PATTERN =
/\A([a-z0-9]+(?:\-[a-z0-9]+)*)_(.+)\z/.freeze
Instance Attribute Summary collapse
-
#application ⇒ Object
readonly
Returns the value of attribute application.
-
#suffix ⇒ Object
readonly
Returns the value of attribute suffix.
Attributes included from Dockerizable
Class Method Summary collapse
Instance Method Summary collapse
- #host_env_uncached ⇒ Object
- #id ⇒ Object
-
#initialize(application, suffix) ⇒ Base
constructor
A new instance of Base.
- #to_s ⇒ Object
Methods included from Entries
#full_entry_path, #inherited_entry_value, #other_entry_value, #path_prefix, #read_entry, #read_entry_optional
Methods included from Dockerizable
#docker_container_exist?, #docker_container_name
Constructor Details
#initialize(application, suffix) ⇒ Base
Returns a new instance of Base.
40 41 42 43 |
# File 'lib/avm/instances/base.rb', line 40 def initialize(application, suffix) @application = application @suffix = suffix.to_s end |
Instance Attribute Details
#application ⇒ Object (readonly)
Returns the value of attribute application.
38 39 40 |
# File 'lib/avm/instances/base.rb', line 38 def application @application end |
#suffix ⇒ Object (readonly)
Returns the value of attribute suffix.
38 39 40 |
# File 'lib/avm/instances/base.rb', line 38 def suffix @suffix end |
Class Method Details
.by_id(id) ⇒ Object
22 23 24 25 26 |
# File 'lib/avm/instances/base.rb', line 22 def by_id(id) application_id, suffix = parse_id(id) require 'avm/instances/application' new(::Avm::Instances::Application.new(application_id), suffix) end |
Instance Method Details
#host_env_uncached ⇒ Object
53 54 55 56 57 58 59 60 |
# File 'lib/avm/instances/base.rb', line 53 def host_env_uncached access = read_entry(:access, list: ::Avm::Instances::Base.lists.access.values) case access when 'local' then ::EacRubyUtils::Envs.local when 'ssh' then ::EacRubyUtils::Envs.ssh(read_entry('ssh.url')) else raise("Unmapped access value: \"#{access}\"") end end |
#id ⇒ Object
45 46 47 |
# File 'lib/avm/instances/base.rb', line 45 def id "#{application.id}_#{suffix}" end |
#to_s ⇒ Object
49 50 51 |
# File 'lib/avm/instances/base.rb', line 49 def to_s id end |