Sha256: f9caab5e7daf9ccf133da8d53f713544376f94186345e4369aafc4a02525f1c2
Contents?: true
Size: 1.84 KB
Versions: 1
Compression:
Stored size: 1.84 KB
Contents
require 'singleton' module EY # All methods are defined on this module. For example, you're supposed to say # # EY::Metadata.database_username # # instead of trying to call it from a particular adapter. class Metadata include Singleton attr_writer :app_name METHODS = %w{ app_master app_name app_servers app_slaves current_path database_host database_name database_password database_username db_master db_servers db_slaves environment_name environment_names mysql_command mysqldump_command present_instance_id present_instance_role present_public_hostname present_security_group repository_uri shared_path solo ssh_aliases ssh_password ssh_username stack_name utilities } # The path to the current deploy on app servers. def current_path "/data/#{app_name}/current" end # The path to the shared directory on app servers. def shared_path "/data/#{app_name}/shared" end # This gets raised when you can't get a particular piece of metadata from the execution environment you're in. class CannotGetFromHere < RuntimeError end autoload :SshAliasHelper, 'engineyard-metadata/ssh_alias_helper' autoload :Insider, 'engineyard-metadata/insider' autoload :Outsider, 'engineyard-metadata/outsider' autoload :ChefDna, 'engineyard-metadata/chef_dna' autoload :AmazonEc2Api, 'engineyard-metadata/amazon_ec2_api' autoload :EngineYardCloudApi, 'engineyard-metadata/engine_yard_cloud_api' def reload if File.directory? '/var/log/engineyard' Metadata.send :include, Insider else Metadata.send :include, Outsider end end end end EY.metadata.reload
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
engineyard-metadata-0.2.2 | lib/engineyard-metadata/metadata.rb |