class Comodule::Deployment::Platform
Public Class Methods
new(name, hsh={})
click to toggle source
# File lib/comodule/deployment/platform.rb, line 5 def initialize(name, hsh={}) if ['config', 'secret_config', 'cloud_formation'].member?(name) raise ArgumentError, %Q|Don't use the platform name [#{name}].| end @name = name @project_root = hsh[:project_root] if hsh[:project_root] if hsh[:db_host] config.db ||= {} config.db.host = hsh[:db_host] end if hsh[:db_password] config.db ||= {} config.db.password = hsh[:db_password] end self.env = hsh[:RAILS_ENV].to_sym if hsh[:RAILS_ENV] self.env = hsh[:env].to_sym if hsh[:env] end
Public Instance Methods
cloud_formation_dir()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 75 def cloud_formation_dir @cloud_formation_dir ||= be_dir(File.join(platform_dir, 'cloud_formation')) end
common_cloud_formation_dir()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 79 def common_cloud_formation_dir @common_cloud_formation_dir ||= be_dir(File.join(platform_root, 'cloud_formation')) end
common_crontab_dir()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 88 def common_crontab_dir @common_crontab_dir ||= File.join(common_config_dir, 'crontab') end
common_shell_script_dir()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 105 def common_shell_script_dir @common_shell_script_dir ||= File.join(common_config_dir, 'shell_script') end
create()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 27 def create be_dir( platform_root, common_config_dir, common_secret_config_dir, common_cloud_formation_dir, platform_dir, config_dir, secret_config_dir, cloud_formation_dir ) be_file( File.join(common_config_dir, '.keep'), File.join(common_cloud_formation_dir, '.keep'), File.join(config_dir, '.keep'), File.join(cloud_formation_dir, '.keep'), common_config_path, common_secret_config_path, config_path, secret_config_path, ) aws_config_default_path = File.expand_path('../platform/default_files/aws_config.yml.erb', __FILE__) if !File.directory?(aws_config_path) && !File.file?(aws_config_path) render_in_dir(aws_config_default_path, platform_root) end gitignore_path = File.join(platform_root, '.gitignore') gitignore_default_path = File.expand_path('../platform/default_files/.gitignore.erb', __FILE__) if !File.directory?(gitignore_path) && !File.file?(gitignore_path) render_in_dir(gitignore_default_path, platform_root) end nil end
crontab_dir()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 92 def crontab_dir @crontab_dir ||= File.join(config_dir, 'crontab') end
deploy()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 65 def deploy download_secret_files @config = nil config_copy chown shell_script crontab end
deployment?()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 149 def deployment? env && !env.empty? && env != :test && env != :development end
deployment_mode() { || ... }
click to toggle source
# File lib/comodule/deployment/platform.rb, line 139 def deployment_mode original, self.env = env, :deployment yield self.env = original end
env()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 122 def env return @env if @env self.env = defined?(Rails) ? Rails.env : nil end
env=(name)
click to toggle source
# File lib/comodule/deployment/platform.rb, line 127 def env=(name) return if !name || name.empty? @env = name.to_sym end
production?()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 145 def production? env && !env.empty? && env == :production end
secret_crontab_dir()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 96 def secret_crontab_dir @secret_crontab_dir ||= File.join(secret_config_dir, 'crontab') end
secret_shell_script_dir()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 113 def secret_shell_script_dir @secret_shell_script_dir ||= File.join(secret_config_dir, 'shell_script') end
shell_script_dir()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 109 def shell_script_dir @shell_script_dir ||= File.join(config_dir, 'shell_script') end
test?()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 153 def test? !deployment? end
test_cloud_formation_dir()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 83 def test_cloud_formation_dir @test_cloud_formation_dir ||= be_dir(File.join(test_dir, 'cloud_formation')) end
test_mode() { || ... }
click to toggle source
# File lib/comodule/deployment/platform.rb, line 132 def test_mode original, self.env = env, :test result = yield self.env = original result end
tmp_crontab_dir()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 100 def tmp_crontab_dir @tmp_crontab_dir ||= be_dir(File.join(tmp_dir, 'crontab')) end
tmp_shell_script_dir()
click to toggle source
# File lib/comodule/deployment/platform.rb, line 117 def tmp_shell_script_dir @tmp_shell_script_dir ||= be_dir(File.join(tmp_dir, 'shell_script')) end