topkit 0.1.0 → 1.0.0.pre.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -1
  3. data/{LICENSE.txt → LICENSE.md} +1 -1
  4. data/README.md +10 -24
  5. data/Rakefile +1 -0
  6. data/bin/ripen +248 -0
  7. data/bin/topkit +111 -7
  8. data/lib/templates/database.yml +9 -0
  9. data/lib/templates/developer/database.yml +7 -0
  10. data/lib/templates/developer/topkit.yml +3 -0
  11. data/lib/templates/nginx.conf +27 -0
  12. data/lib/templates/topkit.yml +14 -0
  13. data/lib/templates/unicorn.rb +8 -0
  14. data/lib/templates/unicorn_init +84 -0
  15. data/lib/topkit/developer/base.rb +156 -0
  16. data/lib/topkit/developer/database.rb +17 -0
  17. data/lib/topkit/developer/installer.rb +46 -0
  18. data/lib/topkit/developer/site.rb +193 -0
  19. data/lib/topkit/developer/symlinks.rb +53 -0
  20. data/lib/topkit/developer/user.rb +53 -0
  21. data/lib/topkit/server/base.rb +84 -0
  22. data/lib/topkit/server/console.rb +11 -0
  23. data/lib/topkit/server/installer.rb +117 -0
  24. data/lib/topkit/server/symlinks.rb +53 -0
  25. data/lib/topkit/server/updater.rb +21 -0
  26. data/lib/topkit/version.rb +1 -1
  27. data/lib/topkit.rb +23 -2
  28. data/topkit.gemspec +10 -10
  29. metadata +50 -46
  30. data/lib/topkit/actions.rb +0 -41
  31. data/lib/topkit/app_builder.rb +0 -112
  32. data/lib/topkit/generators/app_generator.rb +0 -109
  33. data/templates/Gemfile_clean +0 -41
  34. data/templates/_footer.html.erb +0 -2
  35. data/templates/_header.html.erb +0 -2
  36. data/templates/_status.html.erb +0 -6
  37. data/templates/application_layout.html.erb +0 -35
  38. data/templates/database.pg.yml.erb +0 -55
  39. data/templates/database_cleaner_rspec.rb +0 -21
  40. data/templates/topkit_gitignore +0 -2
  41. data/test/lib/topkit/version_test.rb +0 -7
  42. data/test/test_helper.rb +0 -3
@@ -0,0 +1,117 @@
1
+ module Topkit
2
+ module Server
3
+ class Installer < Base
4
+
5
+ def initialize
6
+ clone_repo
7
+ checkout_release_branch
8
+ install_bundle
9
+ add_database_config
10
+ add_unicorn_config
11
+ add_nginx_config
12
+ add_topkit_config
13
+ create_and_migrate_database
14
+ precompile_assets
15
+ create_default_user
16
+ transfer_ownership
17
+ start_server
18
+ end
19
+
20
+ private
21
+
22
+ def clone_repo
23
+ system("cd #{@@home} && git clone #{@@git_url} #{@@app_name}")
24
+ end
25
+
26
+ def checkout_release_branch
27
+ system("cd #{@@root} && git checkout -b release origin/release")
28
+ end
29
+
30
+ def add_database_config
31
+ system("cd #{@@root} && sudo -u postgres psql -c \"DROP DATABASE IF EXISTS #{@@db_name};\"")
32
+ system("cd #{@@root} && sudo -u postgres psql -c \"DROP ROLE IF EXISTS #{@@db_user};\"")
33
+ system("cd #{@@root} && sudo -u postgres psql -c \"CREATE ROLE #{@@db_user} LOGIN CREATEDB PASSWORD '#{@@db_pass}';\"")
34
+ config = template('database.yml')
35
+ .gsub(/\[db_user\]/, @@db_user)
36
+ .gsub(/\[db_pass\]/, @@db_pass)
37
+ .gsub(/\[db_name\]/, @@db_name)
38
+ File.open(@@db_file, 'w+') { |f| f.write(config) }
39
+ end
40
+
41
+ def add_unicorn_config
42
+ # Service
43
+ config = template('unicorn_init')
44
+ .gsub(/\[root\]/, @@root)
45
+ .gsub(/\[user\]/, @@user)
46
+ File.open(@@unicorn_init, 'w+') { |f| f.write(config) }
47
+ system("chmod +x #{@@unicorn_init}")
48
+ # App Config
49
+ config = template('unicorn.rb')
50
+ .gsub(/\[root\]/, @@root)
51
+ .gsub(/\[app_name\]/, @@app_name)
52
+ File.open(@@unicorn_file, 'w+') { |f| f.write(config) }
53
+ system("mkdir -p #{@@root}/tmp/pids")
54
+ # Update
55
+ system("update-rc.d -f #{@@service} defaults")
56
+ end
57
+
58
+ def add_nginx_config
59
+ @@server_name = ask("Domain for your Topkit instance (without http)? ")
60
+ config = template('nginx.conf')
61
+ .gsub(/\[app_name\]/, @@app_name)
62
+ .gsub(/\[server_name\]/, @@server_name)
63
+ File.open(@@nginx_file, 'w+') { |f| f.write(config) }
64
+ # Remove the default config file
65
+ system("rm /etc/nginx/sites-enabled/default")
66
+ # Restart the service
67
+ system("service nginx restart")
68
+ end
69
+
70
+ def add_topkit_config
71
+ config = template('topkit.yml').gsub!(/\[url\]/, @@server_name)
72
+
73
+ say "You're gonna wanna know what folks are doing on your site..."
74
+ @@google_analytics_id = ask("Google Analytics ID: ")
75
+ config.gsub!(/\[google_analytics_id\]/, @@google_analytics_id)
76
+
77
+ say "You'll also need a SendGrid account to make sending emails easy..."
78
+ @@mailer_user_name = ask("SendGrid Username: ")
79
+ config.gsub!(/\[mailer_user_name\]/, @@mailer_user_name)
80
+ @@mailer_password = ask("SendGrid Password: ")
81
+ config.gsub!(/\[mailer_password\]/, @@mailer_password)
82
+ @@mailer_domain = ask("SendGrid Domain: ")
83
+ config.gsub!(/\[mailer_domain\]/, @@mailer_domain)
84
+ config.gsub!(/\[mailer_address\]/, @@mailer_address)
85
+ config.gsub!(/\[mailer_port\]/, @@mailer_port)
86
+ @@mailer_default_from = ask("Default From Address: ")
87
+ config.gsub!(/\[mailer_default_from\]/, @@mailer_default_from)
88
+
89
+ say "And when you encounter an error, we fire off an email..."
90
+ @@errors_subject = ask("Email Subject: ")
91
+ config.gsub!(/\[errors_subject\]/, @@errors_subject)
92
+ @@errors_from = ask("From Address: ")
93
+ config.gsub!(/\[errors_from\]/, @@errors_from)
94
+ @@errors_to = ask("To Address: ")
95
+ config.gsub!(/\[errors_to\]/, @@errors_to)
96
+
97
+ File.open(@@topkit_file, 'w+') { |f| f.write(config) }
98
+ end
99
+
100
+ def create_default_user
101
+ say "========================="
102
+ say "CREATE A USER"
103
+ say "========================="
104
+ say "\nWe are going to create your first user so you have API access."
105
+ name = ask("Name: ")
106
+ email = ask("Email: ")
107
+ password = ask("Password: ")
108
+ create_user(name, email, password, true)
109
+ end
110
+
111
+ def transfer_ownership
112
+ system("chown -R #{@@user}:#{@@user} #{@@home}")
113
+ end
114
+
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,53 @@
1
+ module Topkit
2
+ module Server
3
+ class Symlinks < Base
4
+
5
+ def clean
6
+ system("find #{@@root} -type l -exec sh -c \"file -b {} | grep -q ^broken\" \\; -delete")
7
+ end
8
+
9
+ def generate
10
+ clean
11
+ Dir.glob("#{@@projects_root}/*").each do |site_dir|
12
+ site = site_dir.split('/').last
13
+ # Assets
14
+ %w{images javascripts stylesheets fonts}.each do |asset_dir|
15
+ src = "#{site_dir}/#{asset_dir}"
16
+ if Dir.exists?(src)
17
+ dest_parent = "#{@@root}/app/assets/#{asset_dir}/viewer"
18
+ FileUtils.mkdir_p(dest_parent)
19
+ dest = "#{dest_parent}/#{site}"
20
+ system("ln -s #{src} #{dest}") unless File.exists?(dest)
21
+ end
22
+ end
23
+ # Layout
24
+ src = "#{site_dir}/layouts/layout.html.erb"
25
+ dest = "#{@@root}/app/views/layouts/viewer"
26
+ FileUtils.mkdir_p(dest)
27
+ dest = "#{dest}/#{site}.html.erb"
28
+ system("ln -s #{src} #{dest}") unless File.exists?(dest)
29
+ # View Files
30
+ %w{templates partials}.each do |dir|
31
+ src = "#{site_dir}/#{dir}/*"
32
+ dest = "#{@@root}/app/views/viewer/#{site}"
33
+ FileUtils.mkdir_p(dest)
34
+ system("ln -s #{src} #{dest}") #unless File.exists?(dest)
35
+ end
36
+ # Service Object
37
+ src = "#{site_dir}/utilities/services.rb"
38
+ dest_dir = "#{@@root}/app/viewer_services"
39
+ FileUtils.mkdir_p(dest_dir)
40
+ dest = "#{dest}/#{underscore(site)}_viewer.rb"
41
+ system("ln -s #{src} #{dest}") unless File.exists?(dest)
42
+ end
43
+ end
44
+
45
+ private
46
+
47
+ def underscore(site)
48
+ site.downcase.gsub(/[\ \-]+/i, '_').gsub(/[^0-9a-z\-\_]/i, '')
49
+ end
50
+
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,21 @@
1
+ module Topkit
2
+ module Server
3
+ class Updater < Base
4
+
5
+ def initialize
6
+ pull_repo
7
+ install_bundle
8
+ precompile_assets
9
+ migrate_database
10
+ restart_server
11
+ end
12
+
13
+ private
14
+
15
+ def pull_repo
16
+ system("cd #{@@root} && git pull")
17
+ end
18
+
19
+ end
20
+ end
21
+ end
@@ -1,3 +1,3 @@
1
1
  module Topkit
2
- VERSION = "0.1.0"
2
+ VERSION = "1.0.0-1"
3
3
  end
data/lib/topkit.rb CHANGED
@@ -1,5 +1,26 @@
1
- require "topkit/version"
1
+ require 'topkit/version'
2
+
3
+ require 'fileutils'
4
+ require 'highline/import'
5
+ require 'json'
6
+ require 'net/http'
7
+ require 'securerandom'
8
+ require 'yaml'
2
9
 
3
10
  module Topkit
4
- # Your code goes here...
11
+ def self.root
12
+ File.expand_path '../..', __FILE__
13
+ end
5
14
  end
15
+
16
+ require 'topkit/developer/base'
17
+ require 'topkit/developer/installer'
18
+ require 'topkit/developer/user'
19
+ require 'topkit/developer/site'
20
+ require 'topkit/developer/database'
21
+ require 'topkit/developer/symlinks'
22
+
23
+ require 'topkit/server/base'
24
+ require 'topkit/server/installer'
25
+ require 'topkit/server/updater'
26
+ require 'topkit/server/console'
data/topkit.gemspec CHANGED
@@ -6,20 +6,20 @@ require 'topkit/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "topkit"
8
8
  spec.version = Topkit::VERSION
9
- spec.authors = ["Alex Padgett"]
10
- spec.email = ["apadgett@topicdesign.com"]
11
- spec.description = %q{Generate rails app with Topic gems, frameworks and layouts}
12
- spec.summary = %q{Generate a Rails app using Topic Design's conventions. Influenced heavily by thoughtbot's Suspenders and Gaslight's sparkler.}
13
- spec.homepage = "https://github.com/topicdesign/topkit-rails"
14
- spec.license = "MIT"
9
+ spec.authors = ['Sean C Davis']
10
+ spec.email = ['sdavis@topicdesign.com']
11
+ spec.summary = %q{Command-line interface for working with topkit Server and topkit Developer.}
12
+ spec.description = %q{}
13
+ spec.homepage = 'https://github.com/topicdesign/topkit-cli.git'
14
+ spec.license = 'MIT'
15
15
 
16
- spec.files = `git ls-files`.split($/)
16
+ spec.files = `git ls-files -z`.split("\x0")
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "rails", "~> 4.0.0"
22
- spec.add_dependency "bundler", "~> 1.3"
21
+ spec.add_development_dependency "bundler", "~> 1.7"
22
+ spec.add_development_dependency "rake", "~> 10.0"
23
23
 
24
- spec.add_development_dependency "rake"
24
+ spec.add_dependency 'highline'
25
25
  end
metadata CHANGED
@@ -1,88 +1,95 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: topkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0.pre.1
5
5
  platform: ruby
6
6
  authors:
7
- - Alex Padgett
7
+ - Sean C Davis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-12 00:00:00.000000000 Z
11
+ date: 2015-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rails
14
+ name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 4.0.0
20
- type: :runtime
19
+ version: '1.7'
20
+ type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 4.0.0
26
+ version: '1.7'
27
27
  - !ruby/object:Gem::Dependency
28
- name: bundler
28
+ name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.3'
34
- type: :runtime
33
+ version: '10.0'
34
+ type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.3'
40
+ version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rake
42
+ name: highline
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
- type: :development
48
+ type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
- description: Generate rails app with Topic gems, frameworks and layouts
55
+ description: ''
56
56
  email:
57
- - apadgett@topicdesign.com
57
+ - sdavis@topicdesign.com
58
58
  executables:
59
+ - ripen
59
60
  - topkit
60
61
  extensions: []
61
62
  extra_rdoc_files: []
62
63
  files:
63
- - .gitignore
64
+ - ".gitignore"
64
65
  - Gemfile
65
- - LICENSE.txt
66
+ - LICENSE.md
66
67
  - README.md
67
68
  - Rakefile
69
+ - bin/ripen
68
70
  - bin/topkit
71
+ - lib/templates/database.yml
72
+ - lib/templates/developer/database.yml
73
+ - lib/templates/developer/topkit.yml
74
+ - lib/templates/nginx.conf
75
+ - lib/templates/topkit.yml
76
+ - lib/templates/unicorn.rb
77
+ - lib/templates/unicorn_init
69
78
  - lib/topkit.rb
70
- - lib/topkit/actions.rb
71
- - lib/topkit/app_builder.rb
72
- - lib/topkit/generators/app_generator.rb
79
+ - lib/topkit/developer/base.rb
80
+ - lib/topkit/developer/database.rb
81
+ - lib/topkit/developer/installer.rb
82
+ - lib/topkit/developer/site.rb
83
+ - lib/topkit/developer/symlinks.rb
84
+ - lib/topkit/developer/user.rb
85
+ - lib/topkit/server/base.rb
86
+ - lib/topkit/server/console.rb
87
+ - lib/topkit/server/installer.rb
88
+ - lib/topkit/server/symlinks.rb
89
+ - lib/topkit/server/updater.rb
73
90
  - lib/topkit/version.rb
74
- - templates/Gemfile_clean
75
- - templates/_footer.html.erb
76
- - templates/_header.html.erb
77
- - templates/_status.html.erb
78
- - templates/application_layout.html.erb
79
- - templates/database.pg.yml.erb
80
- - templates/database_cleaner_rspec.rb
81
- - templates/topkit_gitignore
82
- - test/lib/topkit/version_test.rb
83
- - test/test_helper.rb
84
91
  - topkit.gemspec
85
- homepage: https://github.com/topicdesign/topkit-rails
92
+ homepage: https://github.com/topicdesign/topkit-cli.git
86
93
  licenses:
87
94
  - MIT
88
95
  metadata: {}
@@ -92,21 +99,18 @@ require_paths:
92
99
  - lib
93
100
  required_ruby_version: !ruby/object:Gem::Requirement
94
101
  requirements:
95
- - - '>='
102
+ - - ">="
96
103
  - !ruby/object:Gem::Version
97
104
  version: '0'
98
105
  required_rubygems_version: !ruby/object:Gem::Requirement
99
106
  requirements:
100
- - - '>='
107
+ - - ">"
101
108
  - !ruby/object:Gem::Version
102
- version: '0'
109
+ version: 1.3.1
103
110
  requirements: []
104
111
  rubyforge_project:
105
- rubygems_version: 2.0.3
112
+ rubygems_version: 2.4.6
106
113
  signing_key:
107
114
  specification_version: 4
108
- summary: Generate a Rails app using Topic Design's conventions. Influenced heavily
109
- by thoughtbot's Suspenders and Gaslight's sparkler.
110
- test_files:
111
- - test/lib/topkit/version_test.rb
112
- - test/test_helper.rb
115
+ summary: Command-line interface for working with topkit Server and topkit Developer.
116
+ test_files: []
@@ -1,41 +0,0 @@
1
- module Topkit
2
- module Actions
3
- def concat_file(source, destination)
4
- contents = IO.read(find_in_source_paths(source))
5
- append_file destination, contents
6
- end
7
-
8
- def replace_in_file(relative_path, find, replace)
9
- path = File.join(destination_root, relative_path)
10
- contents = IO.read(path)
11
- unless contents.gsub!(find, replace)
12
- raise "#{find.inspect} not found in #{relative_path}"
13
- end
14
- File.open(path, "w") { |file| file.write(contents) }
15
- end
16
-
17
- def action_mailer_host(rails_env, host)
18
- host_config = "config.action_mailer.default_url_option = { host: '#{host}' }"
19
- configure_environment(rails_env, host_config)
20
- end
21
-
22
- def configure_environment(rails_env, config)
23
- inject_into_file(
24
- "config/environments/#{rails_env}.rb",
25
- "\n\n #{config}",
26
- before: "\nend"
27
- )
28
- end
29
-
30
- def download_file(uri_string, destination)
31
- require 'net/http'
32
- uri = URI.parse(uri_string)
33
- http = ::Net::HTTP.new(uri.host, uri.port)
34
- http.use_ssl = true if uri_string =~ /^https/
35
- request = ::Net::HTTP::Get.new(uri.path)
36
- contents = http.request(request).body
37
- path = File.join(destination_root, destination)
38
- File.open(path, "w") { |file| file.write(contents) }
39
- end
40
- end
41
- end
@@ -1,112 +0,0 @@
1
- module Topkit
2
- class AppBuilder < Rails::AppBuilder
3
- include Topkit::Actions
4
-
5
- def configure_rspec_generators
6
- config = <<-RUBY
7
- config.generators do |g|
8
- g.fixture true
9
- g.fixture_replacement "factory_girl"
10
- g.assets false
11
- g.test_framework :rspec
12
- g.view_specs false
13
- g.controller_specs false
14
- g.helper_specs false
15
- g.routing_specs false
16
- g.request_specs false
17
- g.stylesheets false
18
- end
19
-
20
- RUBY
21
-
22
- inject_into_class 'config/application.rb', 'Application', config
23
- end
24
-
25
- def replace_gemfile
26
- remove_file 'Gemfile'
27
- copy_file 'Gemfile_clean', 'Gemfile'
28
- end
29
-
30
- def template_database_file
31
- template 'database.pg.yml.erb', 'config/database.yml', force: true
32
- end
33
-
34
- def create_database
35
- bundle_command "exec rake db:create"
36
- end
37
-
38
- def remove_public_index
39
- remove_file 'public/index.html'
40
- end
41
-
42
- def remove_rails_logo_image
43
- remove_file 'app/assets/images/rails.png'
44
- end
45
-
46
- def remove_routes_comment_lines
47
- replace_in_file 'config/routes.rb',
48
- /Application\.routes\.draw do.*end/m,
49
- "Application.routes.draw do\nend"
50
- end
51
-
52
- def create_partials_directory
53
- empty_directory 'app/views/application'
54
- end
55
-
56
- def create_status_partials
57
- copy_file '_status.html.erb', 'app/views/application/_status.html.erb'
58
- copy_file '_header.html.erb', 'app/views/application/_header.html.erb'
59
- copy_file '_footer.html.erb', 'app/views/application/_footer.html.erb'
60
- end
61
-
62
- def create_application_layout
63
- remove_file "app/views/layouts/application.html.erb"
64
- copy_file "application_layout.html.erb", "app/views/layouts/application.html.erb", force: true
65
- end
66
-
67
- def generate_rspec
68
- generate 'rspec:install'
69
- end
70
-
71
- def generate_backbone
72
- generate "backbone:install"
73
- end
74
-
75
- def generate_backtrace
76
- download_file "https://gist.github.com/apcomplete/4113645/download", "vendor/assets/javascripts/backtrace.js"
77
- end
78
-
79
- def enable_database_cleaner
80
- replace_in_file 'spec/spec_helper.rb',
81
- 'config.use_transactional_fixtures = true',
82
- 'config.use_transactional_fixtures = false'
83
-
84
- copy_file 'database_cleaner_rspec.rb', 'spec/support/database_cleaner.rb'
85
- end
86
-
87
- def setup_stylesheets
88
- remove_file 'app/assets/stylesheets/application.css'
89
- create_file 'app/assets/stylesheets/application.css.scss'
90
- end
91
-
92
- def generate_devise
93
- generate "devise:install"
94
- generate "devise User"
95
- bundle_command "exec rake db:migrate"
96
- generate "devise:views"
97
- end
98
-
99
- def generate_cucumber
100
- generate 'cucumber:install', '--rspec', '--capybara'
101
- end
102
-
103
- def init_git
104
- run 'git init'
105
- end
106
-
107
- def add_to_git_ignore
108
- concat_file 'topkit_gitignore', '.gitignore'
109
- end
110
-
111
- end
112
- end
@@ -1,109 +0,0 @@
1
- require 'rails/generators'
2
- require 'rails/generators/rails/app/app_generator'
3
-
4
- module Topkit
5
- class AppGenerator < Rails::Generators::AppGenerator
6
- class_option :client, type: :string, desc: "Specify client abbreviation"
7
- class_option :project, type: :string, desc: "Specify project number"
8
-
9
- def finish_template
10
- invoke :topkit_customization
11
- super
12
- end
13
-
14
- def topkit_customization
15
- invoke :configure_generators
16
- invoke :customize_gemfile
17
- invoke :setup_database
18
- invoke :remove_useless_files
19
- invoke :remove_routes_comment_lines
20
- invoke :create_views_and_layouts
21
- invoke :copy_miscellaneous_files
22
- invoke :configure_rspec
23
- invoke :configure_backbone
24
- invoke :configure_cucumber
25
- invoke :generate_devise
26
- invoke :setup_git
27
- end
28
-
29
- def configure_generators
30
- say "Configuring rspec generators"
31
- build :configure_rspec_generators
32
- end
33
-
34
- def customize_gemfile
35
- say "Setting up gems"
36
- build :replace_gemfile
37
- bundle_command "install"
38
- bundle_command "package"
39
- end
40
-
41
- def setup_database
42
- say "Setting up database"
43
- build :template_database_file
44
- build :create_database
45
- end
46
-
47
- def remove_useless_files
48
- build :remove_public_index
49
- build :remove_rails_logo_image
50
- end
51
-
52
- def remove_routes_comment_lines
53
- build :remove_routes_comment_lines
54
- end
55
-
56
- def create_views_and_layouts
57
- say "Creating partials and default layout"
58
- build :create_partials_directory
59
- build :create_status_partials
60
- build :create_application_layout
61
- end
62
-
63
- def copy_miscellaneous_files
64
- build :setup_stylesheets
65
- end
66
-
67
- def configure_rspec
68
- say "Generating rspec"
69
- build :generate_rspec
70
- build :enable_database_cleaner
71
- end
72
-
73
- def configure_backbone
74
- say "Generating backbone"
75
- build :generate_backbone
76
- build :generate_backtrace
77
- end
78
-
79
- def generate_devise
80
- say "Generating Devise"
81
- build :generate_devise
82
- end
83
-
84
- def configure_cucumber
85
- say "Installing cucumber"
86
- build :generate_cucumber
87
- end
88
-
89
- def setup_git
90
- say "Initializing git repo"
91
- build :add_to_git_ignore
92
- build :init_git
93
- end
94
-
95
- def outro
96
- say 'You are good to go!'
97
- end
98
-
99
- def run_bundle
100
- end
101
-
102
- protected
103
-
104
- def get_builder_class
105
- Topkit::AppBuilder
106
- end
107
-
108
- end
109
- end