Class: RubyYacht::Project
- Inherits:
-
Object
- Object
- RubyYacht::Project
- Defined in:
- lib/ruby_yacht/dsl/project.rb
Overview
This class provides a configuration for a project in our system.
A project is a family of apps that communicate with each other and share a database.
You can configure this with RubyYacht::Project::DSL
Defined Under Namespace
Classes: DSL
Instance Attribute Summary collapse
-
#apps ⇒ Object
The configuration for the apps.
-
#check_out_locally ⇒ Object
Whether we should check out the code on the host machine, rather than keeping it entirely inside the container.
-
#databases ⇒ Object
The configuration for the databases.
-
#dns_server ⇒ Object
The configuration for the DNS for the apps.
-
#domain ⇒ Object
The domain that the apps for this project are accessed under.
-
#name ⇒ Object
The name of the project.
-
#primary_app ⇒ Object
The name of the primary app for the project.
-
#repository ⇒ Object
The hostname for the repository that contains the code for the apps.
-
#system_prefix ⇒ Object
The prefix that we use before all of the images and containers for the project.
Instance Attribute Details
#apps ⇒ Object
The configuration for the apps. Each entry is a RubyYacht::App.
34 35 36 |
# File 'lib/ruby_yacht/dsl/project.rb', line 34 def apps @apps end |
#check_out_locally ⇒ Object
Whether we should check out the code on the host machine, rather than keeping it entirely inside the container.
28 29 30 |
# File 'lib/ruby_yacht/dsl/project.rb', line 28 def check_out_locally @check_out_locally end |
#databases ⇒ Object
The configuration for the databases. Each entry is a RubyYacht::Database.
31 32 33 |
# File 'lib/ruby_yacht/dsl/project.rb', line 31 def databases @databases end |
#dns_server ⇒ Object
The configuration for the DNS for the apps. This is a RubyYacht::DnsServer.
38 39 40 |
# File 'lib/ruby_yacht/dsl/project.rb', line 38 def dns_server @dns_server end |
#domain ⇒ Object
The domain that the apps for this project are accessed under.
21 22 23 |
# File 'lib/ruby_yacht/dsl/project.rb', line 21 def domain @domain end |
#name ⇒ Object
The name of the project.
14 15 16 |
# File 'lib/ruby_yacht/dsl/project.rb', line 14 def name @name end |
#primary_app ⇒ Object
The name of the primary app for the project.
This app will respond to requests to the bare domain with no app subdomain. It will also respond under its normal subdomain.
If this is not provided, this will create a special index page for the bare domain, with links to each app.
47 48 49 |
# File 'lib/ruby_yacht/dsl/project.rb', line 47 def primary_app @primary_app end |
#repository ⇒ Object
The hostname for the repository that contains the code for the apps.
24 25 26 |
# File 'lib/ruby_yacht/dsl/project.rb', line 24 def repository @repository end |
#system_prefix ⇒ Object
The prefix that we use before all of the images and containers for the project.
18 19 20 |
# File 'lib/ruby_yacht/dsl/project.rb', line 18 def system_prefix @system_prefix end |