daiku 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -2
- data/lib/daiku/_app/README.md.tt +23 -0
- data/lib/daiku/_app/Rakefile.tt +4 -4
- data/lib/daiku/plugins/database-sql/_templates/db.rake.tt +12 -0
- data/lib/daiku/plugins/database-sql/cli.rb +36 -3
- data/lib/daiku/plugins/datamapper/_templates/datamapper.rake.tt +49 -0
- data/lib/daiku/plugins/datamapper/cli.rb +24 -0
- data/lib/daiku/plugins/grunt/cli.rb +16 -0
- data/lib/daiku/plugins/sequel/_templates/sequel.rake.tt +16 -0
- data/lib/daiku/plugins/sequel/cli.rb +19 -0
- data/lib/daiku/version.rb +1 -1
- metadata +5 -2
- data/lib/daiku/plugins/sequel/_templates/db.rake.tt +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 48684cf445ae133682d5a8af71b8ecde004c5e4b
|
4
|
+
data.tar.gz: f0d5f467f8dd0b2b1c6d429252cbcbf115cd813c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0274e94331688fadbb2d78caa4a3f04bd4651220970f65ae63b4e1d0a912540aecd7870afe8261d31217670b99c7507b5b14bf277af6788df5645b26d162950
|
7
|
+
data.tar.gz: 5b45d1a6f7078efb9f9c58abf66080cb5f10991d5266ae3c75b738c9ddb495edbb8c5e2478514cf615d3957c47216fce2a2bc51e1473755d04ab2144d4693594
|
data/README.md
CHANGED
@@ -51,7 +51,7 @@ You can further customize the app that's generated by passing additional options
|
|
51
51
|
-j, [--jobs=JOBS] # Choose the background jobs lib this project uses.
|
52
52
|
# Possible values: sidekiq
|
53
53
|
-m, [--models=MODELS] # Choose the data modeling lib this project uses.
|
54
|
-
# Possible values: datamapper
|
54
|
+
# Possible values: datamapper, sequel
|
55
55
|
-M, [--monitors=MONITORS] # Choose the monitoring lib this project uses.
|
56
56
|
# Possible values: newrelic
|
57
57
|
[--vcr] # Include `vcr` in this project's BDD stack?
|
@@ -89,6 +89,7 @@ myapp
|
|
89
89
|
├── Gemfile
|
90
90
|
├── Gruntfile.coffee
|
91
91
|
├── Procfile
|
92
|
+
├── README.md
|
92
93
|
├── Rakefile
|
93
94
|
├── app.rb
|
94
95
|
├── assets
|
@@ -124,7 +125,9 @@ myapp
|
|
124
125
|
│ ├── services
|
125
126
|
│ │ └── .gitkeep
|
126
127
|
│ ├── tasks
|
127
|
-
│ │
|
128
|
+
│ │ ├── .gitkeep
|
129
|
+
│ │ ├── datamapper.rake
|
130
|
+
│ │ └── db.rake
|
128
131
|
│ └── values
|
129
132
|
│ └── .gitkeep
|
130
133
|
├── package.json
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<%= @app -%>
|
2
|
+
=======
|
3
|
+
<%= @app -%> description...
|
4
|
+
|
5
|
+
## Getting Started
|
6
|
+
|
7
|
+
git clone git@github.com:YOUR_USER_OR_ORG/stylegame.git ${PROJECTS_DIR}/stylegame
|
8
|
+
cd ${PROJECTS_DIR}/stylegame
|
9
|
+
bundle install
|
10
|
+
|
11
|
+
## Run It
|
12
|
+
|
13
|
+
be foreman start
|
14
|
+
open http://localhost:<%= @port -%>
|
15
|
+
|
16
|
+
## Test It
|
17
|
+
|
18
|
+
# all specs
|
19
|
+
be rake
|
20
|
+
|
21
|
+
# specific test suite
|
22
|
+
be ruby -I spec -I lib ./spec/path/to/file_spec.rb
|
23
|
+
|
data/lib/daiku/_app/Rakefile.tt
CHANGED
@@ -16,14 +16,14 @@ require 'dotenv/tasks'
|
|
16
16
|
require 'rake/testtask'
|
17
17
|
|
18
18
|
# tasks
|
19
|
+
task :environment => :dotenv do
|
20
|
+
require 'boot'
|
21
|
+
end
|
22
|
+
|
19
23
|
Rake::TestTask.new do |t|
|
20
24
|
t.libs << "spec"
|
21
25
|
t.pattern = "spec/**/*_spec.rb"
|
22
26
|
end
|
23
27
|
task :default => [:environment, :test]
|
24
28
|
|
25
|
-
task :environment => :dotenv do
|
26
|
-
require 'boot'
|
27
|
-
end
|
28
|
-
|
29
29
|
Dir.glob('./lib/tasks/**/*.rake').each { |tasks| import tasks }
|
@@ -0,0 +1,12 @@
|
|
1
|
+
namespace :db do
|
2
|
+
desc "Create databases *(postgres only)"
|
3
|
+
task :init => :environment do
|
4
|
+
puts "Creating #{ENV['DB_NAME']} database..."
|
5
|
+
`createdb #{ENV['DB_NAME']}`
|
6
|
+
puts "Done!"
|
7
|
+
|
8
|
+
puts "Creating #{ENV['DB_NAME']}_test database..."
|
9
|
+
`createdb #{ENV['DB_NAME']}_test`
|
10
|
+
puts 'Done!'
|
11
|
+
end
|
12
|
+
end
|
@@ -23,15 +23,48 @@ module Daiku
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def config
|
26
|
-
template
|
26
|
+
template '_templates/db_helper.rb.tt', "#{app}/spec/db_helper.rb"
|
27
27
|
end
|
28
28
|
|
29
29
|
def gemfile
|
30
30
|
insert_into_file "#{app}/Gemfile", " gem 'database_cleaner'\n", after: "group :test do\n"
|
31
31
|
end
|
32
32
|
|
33
|
-
def
|
34
|
-
|
33
|
+
def rake
|
34
|
+
template "_templates/db.rake.tt", "#{app}/lib/tasks/db.rake"
|
35
|
+
end
|
36
|
+
|
37
|
+
def readme
|
38
|
+
content = <<-DBREADME
|
39
|
+
## Sync It
|
40
|
+
|
41
|
+
_Instructions on how to sync the database..._
|
42
|
+
|
43
|
+
`production` to `staging`
|
44
|
+
|
45
|
+
Sync DB:
|
46
|
+
|
47
|
+
# instructions go here...
|
48
|
+
|
49
|
+
---
|
50
|
+
|
51
|
+
### `production` to `development`
|
52
|
+
|
53
|
+
Sync DB:
|
54
|
+
|
55
|
+
# instructions go here...
|
56
|
+
|
57
|
+
---
|
58
|
+
|
59
|
+
### `staging` to `development`
|
60
|
+
|
61
|
+
Sync DB:
|
62
|
+
|
63
|
+
# instructions go here...
|
64
|
+
|
65
|
+
|
66
|
+
DBREADME
|
67
|
+
append_to_file "#{app}/README.md", content
|
35
68
|
end
|
36
69
|
|
37
70
|
def travisyml
|
@@ -0,0 +1,49 @@
|
|
1
|
+
namespace :db do
|
2
|
+
namespace :datamapper do
|
3
|
+
desc "Migrate tables for DataMapper models (potentially destructive)"
|
4
|
+
task :migrate => :environment do
|
5
|
+
puts "Warning: Potentially Destructive Action!"
|
6
|
+
puts "Data loss WILL occur in modified tables!"
|
7
|
+
puts "Auto-Migrating models in 2 seconds..."
|
8
|
+
sleep 2
|
9
|
+
DataMapper.auto_migrate!
|
10
|
+
puts "Done!"
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "Upgrade tables to reflect DataMapper models"
|
14
|
+
task :upgrade => :environment do
|
15
|
+
puts "Auto-Upgrading models..."
|
16
|
+
DataMapper.auto_upgrade!
|
17
|
+
puts "Done!"
|
18
|
+
end
|
19
|
+
|
20
|
+
desc "Add hstore support"
|
21
|
+
task :hstore => :environment do
|
22
|
+
puts "Adding hstore support..."
|
23
|
+
DataMapper.repository.adapter.execute('CREATE EXTENSION hstore;')
|
24
|
+
puts "Done!"
|
25
|
+
end
|
26
|
+
|
27
|
+
desc "Add postgis support"
|
28
|
+
task :postgis => :environment do
|
29
|
+
puts "Adding postgis support..."
|
30
|
+
DataMapper.repository.adapter.execute('CREATE EXTENSION postgis;')
|
31
|
+
puts "Done!"
|
32
|
+
end
|
33
|
+
|
34
|
+
desc "Add postgis_topology support"
|
35
|
+
task :postgis_topology => :environment do
|
36
|
+
puts "Adding postgis_topology support..."
|
37
|
+
DataMapper.repository.adapter.execute('CREATE EXTENSION postgis_topology;')
|
38
|
+
puts "Done!"
|
39
|
+
end
|
40
|
+
|
41
|
+
desc "Add postgis_tiger_geocoder support"
|
42
|
+
task :postgis_tiger_geocoder => :environment do
|
43
|
+
puts "Adding postgis_tiger_geocoder support..."
|
44
|
+
DataMapper.repository.adapter.execute('CREATE EXTENSION fuzzystrmatch;')
|
45
|
+
DataMapper.repository.adapter.execute('CREATE EXTENSION postgis_tiger_geocoder;')
|
46
|
+
puts "Done!"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -44,6 +44,30 @@ module Daiku
|
|
44
44
|
DMGEMS
|
45
45
|
append_to_file "#{app}/Gemfile", content
|
46
46
|
end
|
47
|
+
|
48
|
+
def rake
|
49
|
+
template "_templates/datamapper.rake.tt", "#{app}/lib/tasks/datamapper.rake"
|
50
|
+
end
|
51
|
+
|
52
|
+
def readme
|
53
|
+
append_to_file "#{app}/README.md" do
|
54
|
+
<<-SREADME.strip_heredoc
|
55
|
+
# Migrate It
|
56
|
+
|
57
|
+
# create postgres extensions, optional but recommended (run once)
|
58
|
+
bundle exec rake db:datamapper:hstore
|
59
|
+
bundle exec rake db:datamapper:postgis
|
60
|
+
bundle exec rake db:datamapper:postgis_topology
|
61
|
+
bundle exec rake db:datamapper:postgis_tiger_geocoder
|
62
|
+
|
63
|
+
# upgrade database (safe migration)
|
64
|
+
bundle exec rake db:datamapper:upgrade
|
65
|
+
|
66
|
+
# migrate database (drops and recreates tables - danger!)
|
67
|
+
bundle exec rake db:datamapper:migrate
|
68
|
+
SREADME
|
69
|
+
end
|
70
|
+
end
|
47
71
|
end
|
48
72
|
end
|
49
73
|
end
|
@@ -26,6 +26,22 @@ module Daiku
|
|
26
26
|
insert_into_file "#{app}/views/layout.slim", %Q( script src="/assets/html5shiv.js"\n), before: " body\n"
|
27
27
|
insert_into_file "#{app}/views/layout.slim", %Q( script src="/assets/app.js"\n), after: " == yield\n"
|
28
28
|
end
|
29
|
+
|
30
|
+
def readme
|
31
|
+
insert_into_file "#{app}/README.md", "bower install\n", after: " bundle install\n"
|
32
|
+
insert_into_file "#{app}/README.md", "npm install\n", after: " bundle install\n"
|
33
|
+
insert_into_file "#{app}/README.md", before: "## Run It\n" do
|
34
|
+
<<-GREADME.strip_heredoc
|
35
|
+
## Compile It
|
36
|
+
|
37
|
+
# for development and staging
|
38
|
+
grunt default
|
39
|
+
|
40
|
+
# for production
|
41
|
+
grunt production
|
42
|
+
GREADME
|
43
|
+
end
|
44
|
+
end
|
29
45
|
end
|
30
46
|
end
|
31
47
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
namespace :db do
|
2
|
+
namespace :sequel do
|
3
|
+
desc "Run Sequel migrations"
|
4
|
+
task :migrate, [:version] => :environment do |t, args|
|
5
|
+
Sequel.extension :migration
|
6
|
+
db = Sequel.connect(ENV.fetch("DATABASE_URL"))
|
7
|
+
if args[:version]
|
8
|
+
puts "Migrating to version #{args[:version]}"
|
9
|
+
Sequel::Migrator.run(db, "#{$app_root}/db/migrations", target: args[:version].to_i)
|
10
|
+
else
|
11
|
+
puts "Migrating to latest"
|
12
|
+
Sequel::Migrator.run(db, "#{$app_root}/db/migrations")
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -40,12 +40,31 @@ module Daiku
|
|
40
40
|
def gemfile
|
41
41
|
content = <<-SGEMS.strip_heredoc
|
42
42
|
group :sequel do
|
43
|
+
gem 'pg'
|
43
44
|
gem 'sequel'
|
44
45
|
gem 'sequel_pg'
|
45
46
|
end
|
46
47
|
SGEMS
|
47
48
|
append_to_file "#{app}/Gemfile", content
|
48
49
|
end
|
50
|
+
|
51
|
+
def rake
|
52
|
+
template "_templates/sequel.rake.tt", "#{app}/lib/tasks/sequel.rake"
|
53
|
+
end
|
54
|
+
|
55
|
+
def readme
|
56
|
+
append_to_file "#{app}/README.md" do
|
57
|
+
<<-SREADME.strip_heredoc
|
58
|
+
# Migrate It
|
59
|
+
|
60
|
+
# migrate to latest version
|
61
|
+
bundle exec rake db:sequel:migrate
|
62
|
+
|
63
|
+
# migrate up to specific version
|
64
|
+
bundle exec rake db:sequel:migrate[001]
|
65
|
+
SREADME
|
66
|
+
end
|
67
|
+
end
|
49
68
|
end
|
50
69
|
end
|
51
70
|
end
|
data/lib/daiku/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: daiku
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Marden
|
@@ -76,6 +76,7 @@ files:
|
|
76
76
|
- lib/daiku/_app/.travis.yml.tt
|
77
77
|
- lib/daiku/_app/Gemfile.tt
|
78
78
|
- lib/daiku/_app/Procfile.tt
|
79
|
+
- lib/daiku/_app/README.md.tt
|
79
80
|
- lib/daiku/_app/Rakefile.tt
|
80
81
|
- lib/daiku/_app/app.rb.tt
|
81
82
|
- lib/daiku/_app/assets/images/.gitkeep
|
@@ -109,9 +110,11 @@ files:
|
|
109
110
|
- lib/daiku/plugin.rb
|
110
111
|
- lib/daiku/plugins.rb
|
111
112
|
- lib/daiku/plugins/database-sql.rb
|
113
|
+
- lib/daiku/plugins/database-sql/_templates/db.rake.tt
|
112
114
|
- lib/daiku/plugins/database-sql/_templates/db_helper.rb.tt
|
113
115
|
- lib/daiku/plugins/database-sql/cli.rb
|
114
116
|
- lib/daiku/plugins/datamapper.rb
|
117
|
+
- lib/daiku/plugins/datamapper/_templates/datamapper.rake.tt
|
115
118
|
- lib/daiku/plugins/datamapper/_templates/datamapper.rb.tt
|
116
119
|
- lib/daiku/plugins/datamapper/cli.rb
|
117
120
|
- lib/daiku/plugins/grunt.rb
|
@@ -136,7 +139,7 @@ files:
|
|
136
139
|
- lib/daiku/plugins/sequel.rb
|
137
140
|
- lib/daiku/plugins/sequel/_templates/001_create_extension_hstore.rb.tt
|
138
141
|
- lib/daiku/plugins/sequel/_templates/002_create_extension_postgis.rb.tt
|
139
|
-
- lib/daiku/plugins/sequel/_templates/
|
142
|
+
- lib/daiku/plugins/sequel/_templates/sequel.rake.tt
|
140
143
|
- lib/daiku/plugins/sequel/_templates/sequel.rb.tt
|
141
144
|
- lib/daiku/plugins/sequel/cli.rb
|
142
145
|
- lib/daiku/plugins/sidekiq.rb
|
@@ -1,14 +0,0 @@
|
|
1
|
-
namespace :db do
|
2
|
-
desc "Run Sequel migrations"
|
3
|
-
task :migrate => :environment, [:version] do |t, args|
|
4
|
-
Sequel.extension :migration
|
5
|
-
db = Sequel.connect(ENV.fetch("DATABASE_URL"))
|
6
|
-
if args[:version]
|
7
|
-
puts "Migrating to version #{args[:version]}"
|
8
|
-
Sequel::Migrator.run(db, "#{$app_root}/db/migrations", target: args[:version].to_i)
|
9
|
-
else
|
10
|
-
puts "Migrating to latest"
|
11
|
-
Sequel::Migrator.run(db, "#{$app_root}/db/migrations")
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|