Class: Daiku::Plugins::Datamapper::CLI

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/daiku/plugins/datamapper/cli.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



12
13
14
# File 'lib/daiku/plugins/datamapper/cli.rb', line 12

def self.source_root
  File.expand_path('../', __FILE__)
end

Instance Method Details

#bootrbObject



16
17
18
19
20
21
22
23
24
# File 'lib/daiku/plugins/datamapper/cli.rb', line 16

def bootrb
  insert_into_file "#{app}/lib/boot.rb", :after => "#models\n" do
    "      require File.join($app_root, 'config/datamapper')\n      # require models here\n      DataMapper.finalize\n    DMREQ\n  end\nend\n".strip_heredoc

#configObject



26
27
28
# File 'lib/daiku/plugins/datamapper/cli.rb', line 26

def config
  template('_templates/datamapper.rb.tt', "#{app}/config/datamapper.rb")
end

#gemfileObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/daiku/plugins/datamapper/cli.rb', line 30

def gemfile
  content = "    group :datamapper do\n      gem 'dm-aspects'\n      gem 'dm-aggregates'\n      gem 'dm-core'\n      gem 'dm-migrations'\n      gem 'dm-pager'\n      gem 'dm-postgres-adapter'\n      gem 'dm-postgres-types'\n      gem 'dm-timestamps'\n      gem 'dm-transactions'\n      gem 'dm-validations'\n    end\n  DMGEMS\n  append_to_file \"\#{app}/Gemfile\", content\nend\n".strip_heredoc

#rakeObject



48
49
50
# File 'lib/daiku/plugins/datamapper/cli.rb', line 48

def rake
  template "_templates/datamapper.rake.tt", "#{app}/lib/tasks/datamapper.rake"
end

#readmeObject



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/daiku/plugins/datamapper/cli.rb', line 52

def readme
  append_to_file "#{app}/README.md" do
    "      # Migrate It\n\n          # create postgres extensions, optional but recommended (run once)\n          bundle exec rake db:datamapper:hstore\n          bundle exec rake db:datamapper:postgis\n          bundle exec rake db:datamapper:postgis_topology\n          bundle exec rake db:datamapper:postgis_tiger_geocoder\n\n          # upgrade database (safe migration)\n          bundle exec rake db:datamapper:upgrade\n\n          # migrate database (drops and recreates tables - danger!)\n          bundle exec rake db:datamapper:migrate\n    SREADME\n  end\nend\n".strip_heredoc