Class: Earth::Tasks
Instance Method Summary collapse
- #config ⇒ Object
- #init_bare ⇒ Object
- #init_earth_tasks ⇒ Object
-
#initialize ⇒ Tasks
constructor
A new instance of Tasks.
- #rails? ⇒ Boolean
Constructor Details
#initialize ⇒ Tasks
Returns a new instance of Tasks.
9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/earth/tasks.rb', line 9 def initialize init_earth_tasks unless rails? namespace :db do unless rails? task :create => 'earth:db:create' task :drop => 'earth:db:drop' end task :migrate => 'earth:db:migrate' task :seed => 'earth:db:seed' end end |
Instance Method Details
#config ⇒ Object
40 41 42 43 44 |
# File 'lib/earth/tasks.rb', line 40 def config spec = ENV['DATABASE_URL'] resolver = ActiveRecord::Base::ConnectionSpecification::Resolver.new spec, {} resolver.spec.config.stringify_keys end |
#init_bare ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/earth/tasks.rb', line 27 def Object.const_set 'Rails', Earth require 'active_record' load 'active_record/railties/databases.rake' Rake::Task['db:load_config'].clear Rake::Task['db:create'].clear Rake::Task['db:drop'].clear Rake::Task['db:migrate'].clear Rake::Task['db:seed'].clear end |
#init_earth_tasks ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/earth/tasks.rb', line 46 def init_earth_tasks namespace :earth do namespace :db do task :create do create_database(config) end task :drop do drop_database_and_rescue(config) end task :load_config do if rails? Rake::Task['db:load_config'].invoke else Earth.connect end end task :migrate => :load_config do Earth.reset_schemas! end task :seed => :load_config do Earth.run_data_miner! end end end end |
#rails? ⇒ Boolean
23 24 25 |
# File 'lib/earth/tasks.rb', line 23 def rails? @rails ||= Object.const_defined?('Rails') end |