Class: Citrin::App

Inherits:
Object
  • Object
show all
Defined in:
lib/citrin/app.rb

Instance Method Summary collapse

Constructor Details

#initialize(name, env = "prod") ⇒ App

Returns a new instance of App.



3
4
5
6
7
# File 'lib/citrin/app.rb', line 3

def initialize(name, env="prod")
  @name = name
  @env = env
  @env ||= "prod"
end

Instance Method Details

#app_rootObject



30
31
32
# File 'lib/citrin/app.rb', line 30

def app_root
  "/var/www/rails_apps/#{@env}/#{@name}"
end

#db_nameObject



52
53
54
# File 'lib/citrin/app.rb', line 52

def db_name
  "#{@name}_#{@env}"
end

#db_passObject



60
61
62
63
# File 'lib/citrin/app.rb', line 60

def db_pass
  @db_pass ||=`pwgen -1asc 22`.chomp
  @db_pass
end

#db_userObject



56
57
58
# File 'lib/citrin/app.rb', line 56

def db_user
  "#{@name}_#{@env}"
end

#envObject



13
14
15
# File 'lib/citrin/app.rb', line 13

def env
  @env
end

#fullenvObject



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/citrin/app.rb', line 17

def fullenv
  case(@env)
    when "prod"
      return "production"
    when "dev"
      return "development"
    when "test"
      return "test"
  else
    raise "Invalid Environment"
  end
end

#nameObject



9
10
11
# File 'lib/citrin/app.rb', line 9

def name
  @name
end

#urlObject



34
35
36
37
38
39
40
41
42
# File 'lib/citrin/app.rb', line 34

def url
  if @env == "dev"
    "dev.#{@name}.#{`hostname -f`}"
  elsif @env == "prod"
    "#{@name}.#{`hostname -f`}"
  else
    raise "Invalid Environment"
  end
end

#webserver_config_fileObject



48
49
50
# File 'lib/citrin/app.rb', line 48

def webserver_config_file
  "/etc/apache2/sites-available/#{@env}.#{@name}.conf"
end


44
45
46
# File 'lib/citrin/app.rb', line 44

def webserver_link_file
  "/etc/apache2/sites-enabled/#{@env}.#{@name}.conf"
end