class Daiku::Plugins::Datamapper::CLI

Public Class Methods

source_root() click to toggle source
# File lib/daiku/plugins/datamapper/cli.rb, line 12
def self.source_root
  File.expand_path('../', __FILE__)
end

Public Instance Methods

bootrb() click to toggle source
# File lib/daiku/plugins/datamapper/cli.rb, line 16
        def bootrb
          insert_into_file "#{app}/lib/boot.rb", :after => "#models\n" do
            <<-DMREQ.strip_heredoc
              require File.join($app_root, 'config/datamapper')
              # require models here
              DataMapper.finalize
            DMREQ
          end
        end
config() click to toggle source
# File lib/daiku/plugins/datamapper/cli.rb, line 26
def config
  template('_templates/datamapper.rb.tt', "#{app}/config/datamapper.rb")
end
gemfile() click to toggle source
# File lib/daiku/plugins/datamapper/cli.rb, line 30
        def gemfile
          content = <<-DMGEMS.strip_heredoc
            group :datamapper do
              gem 'dm-aspects'
              gem 'dm-aggregates'
              gem 'dm-core'
              gem 'dm-migrations'
              gem 'dm-pager'
              gem 'dm-postgres-adapter'
              gem 'dm-postgres-types'
              gem 'dm-timestamps'
              gem 'dm-transactions'
              gem 'dm-validations'
            end
          DMGEMS
          append_to_file "#{app}/Gemfile", content
        end
rake() click to toggle source
# File lib/daiku/plugins/datamapper/cli.rb, line 48
def rake
  template "_templates/datamapper.rake.tt", "#{app}/lib/tasks/datamapper.rake"
end
readme() click to toggle source
# File lib/daiku/plugins/datamapper/cli.rb, line 52
        def readme
          append_to_file "#{app}/README.md" do
            <<-SREADME.strip_heredoc
              # Migrate It

                  # create postgres extensions, optional but recommended (run once)
                  bundle exec rake db:datamapper:hstore
                  bundle exec rake db:datamapper:postgis
                  bundle exec rake db:datamapper:postgis_topology
                  bundle exec rake db:datamapper:postgis_tiger_geocoder

                  # upgrade database (safe migration)
                  bundle exec rake db:datamapper:upgrade

                  # migrate database (drops and recreates tables - danger!)
                  bundle exec rake db:datamapper:migrate
            SREADME
          end
        end