diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-06-18 21:14:17 -0300 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-06-18 21:14:17 -0300 |
commit | b5fc47caf906a10c7a2be74e171686d1f4158647 (patch) | |
tree | 8a3558fa6246064d65d89ad9b42429e7d966072f /activerecord | |
parent | 30d8c39d57a5abf463e213686a5972c80fd773a6 (diff) | |
download | rails-b5fc47caf906a10c7a2be74e171686d1f4158647.tar.gz rails-b5fc47caf906a10c7a2be74e171686d1f4158647.tar.bz2 rails-b5fc47caf906a10c7a2be74e171686d1f4158647.zip |
Make DatabaseTasks a module with real private methods
Diffstat (limited to 'activerecord')
-rw-r--r-- | activerecord/lib/active_record/tasks/database_tasks.rb | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/activerecord/lib/active_record/tasks/database_tasks.rb b/activerecord/lib/active_record/tasks/database_tasks.rb index 8e05c1a439..24fe4134e0 100644 --- a/activerecord/lib/active_record/tasks/database_tasks.rb +++ b/activerecord/lib/active_record/tasks/database_tasks.rb @@ -1,6 +1,7 @@ module ActiveRecord module Tasks # :nodoc: - class DatabaseTasks # :nodoc: + module DatabaseTasks # :nodoc: + extend self TASKS_PATTERNS = { /mysql/ => ActiveRecord::Tasks::MySQLDatabaseTasks, @@ -9,7 +10,7 @@ module ActiveRecord } LOCAL_HOSTS = ['127.0.0.1', 'localhost'] - def self.create(*arguments) + def create(*arguments) configuration = arguments.first class_for_adapter(configuration['adapter']).new(*arguments).create rescue Exception => error @@ -17,18 +18,18 @@ module ActiveRecord $stderr.puts "Couldn't create database for #{configuration.inspect}" end - def self.create_all + def create_all each_local_configuration { |configuration| create configuration } end - def self.create_current(environment = Rails.env) + def create_current(environment = Rails.env) each_current_configuration(environment) { |configuration| create configuration } ActiveRecord::Base.establish_connection environment end - def self.drop(*arguments) + def drop(*arguments) configuration = arguments.first class_for_adapter(configuration['adapter']).new(*arguments).drop rescue Exception => error @@ -36,28 +37,28 @@ module ActiveRecord $stderr.puts "Couldn't drop #{configuration['database']}" end - def self.drop_all + def drop_all each_local_configuration { |configuration| drop configuration } end - def self.drop_current(environment = Rails.env) + def drop_current(environment = Rails.env) each_current_configuration(environment) { |configuration| drop configuration } end - def self.purge(configuration) + def purge(configuration) class_for_adapter(configuration['adapter']).new(configuration).purge end private - def self.class_for_adapter(adapter) + def class_for_adapter(adapter) key = TASKS_PATTERNS.keys.detect { |pattern| adapter[pattern] } TASKS_PATTERNS[key] end - def self.each_current_configuration(environment) + def each_current_configuration(environment) environments = [environment] environments << 'test' if environment.development? @@ -67,7 +68,7 @@ module ActiveRecord end end - def self.each_local_configuration + def each_local_configuration ActiveRecord::Base.configurations.each_value do |configuration| next unless configuration['database'] @@ -79,9 +80,9 @@ module ActiveRecord end end - def self.local_database?(configuration) + def local_database?(configuration) configuration['host'].in?(LOCAL_HOSTS) || configuration['host'].blank? end end end -end
\ No newline at end of file +end |