Class: RailsPwnerer::Scaffolds::Gems

Inherits:
Object
  • Object
show all
Includes:
Base
Defined in:
lib/rails_pwnerer/scaffolds/gems.rb

Overview

installs the required gems

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Base

_setup_unix, _setup_windows, all_packages, all_packages_without_caching, #atomic_erase, #atomic_read, #atomic_write, #best_package_matching, #check_rails_root, #control_boot_script, #cpu_cores, #current_user, #gem_exists?, #gid_for_username, #group_for_username, #hook_boot_script, #install_gem, #install_gems, #install_package, #install_package_impl, #install_package_matching, #install_packages, #kill_tree, #os_distro, package_info_hash, #path_to_boot_script, #path_to_boot_script_defaults, #path_to_gemdir, #process_info, #prompt_user_for_password, #remove_package, #remove_packages, #search_packages, #uid_for_username, #unroll_collection, #update_all_packages, #update_all_packages_impl, #update_gems, #update_package_metadata, #upgrade_gem, #upgrade_gems, #upgrade_package, #upgrade_package_impl, #upgrade_packages, #with_package_source, #with_temp_dir

Class Method Details

.goObject

standalone runner



51
52
53
# File 'lib/rails_pwnerer/scaffolds/gems.rb', line 51

def self.go
  self.new.run
end

Instance Method Details

#install_databasesObject



15
16
17
18
# File 'lib/rails_pwnerer/scaffolds/gems.rb', line 15

def install_databases
  install_gems %w(mysql mysql2 pg sqlite3)
  install_gems %w(memcache-client)
end

#install_packagersObject



20
21
22
# File 'lib/rails_pwnerer/scaffolds/gems.rb', line 20

def install_packagers
  install_gems %w(rake thor bundler)
end

#install_selfObject



6
7
8
9
10
11
12
13
# File 'lib/rails_pwnerer/scaffolds/gems.rb', line 6

def install_self
  # The gem repository gets wiped on new Debian and Ubuntu installs, so we
  # need to reinstall ourselves.
  install_gems %w(rails_pwnerer)

  # Process management.
  install_gems %w(zerg_support)
end

#install_serversObject



24
25
26
# File 'lib/rails_pwnerer/scaffolds/gems.rb', line 24

def install_servers
  install_gems %w(thin unicorn)
end

#install_toolsObject



28
29
30
31
32
33
34
35
36
37
# File 'lib/rails_pwnerer/scaffolds/gems.rb', line 28

def install_tools
  # Get passwords from admins.
  install_gems %w(highline ruby-termios)

  # Debug gems on production machines.
  install_gems %w(echoe jeweler debugger)

  # Determine number of CPUs and cores.
  install_gems %w(sys-cpu)
end

#runObject

runner



40
41
42
43
44
45
46
47
48
# File 'lib/rails_pwnerer/scaffolds/gems.rb', line 40

def run
  update_gems
  install_self
  install_databases
  install_packagers
  install_servers
  install_tools
  install_gems %w(rails)
end