Class Moonshine::Manifest::Rails

  1. lib/moonshine/manifest/rails.rb (view online)

The Rails Manifest includes recipes for Apache, Mysql, Sqlite3 and Rails running on Ubuntu 8.10 or greater.

Methods

public instance

  1. default_stack
  2. validate_platform

Public instance methods

default_stack ()

A super recipe for installing Apache, Passenger, a database, Rails, NTP, Cron, Postfix. To customize your stack, call the individual recipes you want to include rather than default_stack.

The database installed is based on the adapter in database.yml.

[show source]
    # File lib/moonshine/manifest/rails.rb, line 41
41:   def default_stack
42:     self.class.recipe :apache_server
43:     self.class.recipe :passenger_gem, :passenger_configure_gem_path, :passenger_apache_module, :passenger_site
44:     case database_environment[:adapter]
45:     when 'mysql'
46:       self.class.recipe :mysql_server, :mysql_gem, :mysql_database, :mysql_user, :mysql_fixup_debian_start
47:     when 'postgresql'
48:       self.class.recipe :postgresql_server, :postgresql_gem, :postgresql_user, :postgresql_database
49:     when 'sqlite' || 'sqlite3'
50:       self.class.recipe :sqlite3
51:     end
52:     self.class.recipe :rails_rake_environment, :rails_gems, :rails_directories, :rails_bootstrap, :rails_migrations, :rails_logrotate
53:     self.class.recipe :ntp, :time_zone, :postfix, :cron_packages, :motd, :security_updates
54:   end
validate_platform ()
[show source]
   # File lib/moonshine/manifest/rails.rb, line 4
4:   def validate_platform
5:     unless Facter.lsbdistid == 'Ubuntu' && Facter.lsbdistrelease.to_f >= 8.04
6:       error = "\n\nMoonshine::Manifest::Rails is currently only supported on Ubuntu 8.04\nor greater. If you'd like to see your favorite distro supported, fork\nMoonshine on GitHub!\n"
7:       raise NotImplementedError, error
8:     end
9:   end