Class: RubyYacht::Project

Inherits:
Object
  • Object
show all
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

Instance Attribute Details

#appsObject

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_locallyObject

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

#databasesObject

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_serverObject

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

#domainObject

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

#nameObject

The name of the project.


14
15
16
# File 'lib/ruby_yacht/dsl/project.rb', line 14

def name
  @name
end

#primary_appObject

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

#repositoryObject

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_prefixObject

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