decko 0.11.7 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/card_controller.rb +4 -0
- data/lib/card_controller/errors.rb +11 -13
- data/lib/decko.rb +2 -15
- data/lib/decko/all.rb +2 -0
- data/lib/decko/application.rb +22 -56
- data/lib/decko/cli.rb +1 -7
- data/lib/decko/commands.rb +17 -110
- data/lib/decko/commands/application.rb +2 -2
- data/lib/decko/commands/cucumber_command.rb +8 -7
- data/lib/decko/commands/cucumber_command/parser.rb +2 -2
- data/lib/decko/engine.rb +3 -14
- data/lib/decko/generators.rb +17 -0
- data/lib/decko/mods_spec_helper.rb +1 -1
- data/lib/decko/script_decko_loader.rb +5 -38
- data/lib/decko/tasks/cucumber.rake +25 -16
- data/lib/decko/tasks/decko.rake +1 -2
- data/lib/decko/tasks/decko/seed.rake +5 -3
- data/lib/generators/deck/deck_generator.rb +12 -0
- metadata +23 -65
- data/lib/decko/commands/command.rb +0 -28
- data/lib/decko/commands/rake_command.rb +0 -42
- data/lib/decko/commands/rake_command/parser.rb +0 -35
- data/lib/decko/commands/rspec_command.rb +0 -36
- data/lib/decko/commands/rspec_command/parser.rb +0 -97
- data/lib/decko/config/environments/cucumber.rb +0 -41
- data/lib/decko/config/environments/cypress.rb +0 -100
- data/lib/decko/config/environments/development.rb +0 -95
- data/lib/decko/config/environments/production.rb +0 -75
- data/lib/decko/config/environments/profile.rb +0 -33
- data/lib/decko/config/environments/test.rb +0 -69
- data/lib/decko/config/initializers/secret_token.rb +0 -15
- data/lib/decko/config/initializers/sedate_parser.rb +0 -8
- data/lib/decko/config/initializers/session_store.rb +0 -2
- data/lib/decko/generators/deck/USAGE +0 -9
- data/lib/decko/generators/deck/deck_generator.rb +0 -134
- data/lib/decko/generators/deck/deck_generator/deck_helper.rb +0 -110
- data/lib/decko/generators/deck/deck_generator/interactive.rb +0 -120
- data/lib/decko/generators/deck/deck_generator/rails_overrides.rb +0 -54
- data/lib/decko/generators/deck/templates/Gemfile.erb +0 -56
- data/lib/decko/generators/deck/templates/Rakefile.erb +0 -6
- data/lib/decko/generators/deck/templates/bin/spring.erb +0 -20
- data/lib/decko/generators/deck/templates/config.ru.erb +0 -11
- data/lib/decko/generators/deck/templates/config/application.rb.erb +0 -107
- data/lib/decko/generators/deck/templates/config/boot.rb.erb +0 -11
- data/lib/decko/generators/deck/templates/config/cucumber.yml +0 -1
- data/lib/decko/generators/deck/templates/config/databases/frontbase.yml +0 -34
- data/lib/decko/generators/deck/templates/config/databases/ibm_db.yml +0 -89
- data/lib/decko/generators/deck/templates/config/databases/jdbc.yml +0 -65
- data/lib/decko/generators/deck/templates/config/databases/jdbcmysql.yml +0 -36
- data/lib/decko/generators/deck/templates/config/databases/jdbcpostgresql.yml +0 -46
- data/lib/decko/generators/deck/templates/config/databases/jdbcsqlite3.yml +0 -23
- data/lib/decko/generators/deck/templates/config/databases/mysql.yml +0 -37
- data/lib/decko/generators/deck/templates/config/databases/oracle.yml +0 -42
- data/lib/decko/generators/deck/templates/config/databases/postgresql.yml +0 -39
- data/lib/decko/generators/deck/templates/config/databases/sqlite3.yml +0 -21
- data/lib/decko/generators/deck/templates/config/deck.yml +0 -10
- data/lib/decko/generators/deck/templates/config/environment.rb.erb +0 -5
- data/lib/decko/generators/deck/templates/config/initializers/cypress.rb +0 -12
- data/lib/decko/generators/deck/templates/config/puma.rb +0 -16
- data/lib/decko/generators/deck/templates/config/routes.rb.erb +0 -11
- data/lib/decko/generators/deck/templates/config/storage.yml +0 -0
- data/lib/decko/generators/deck/templates/gitignore +0 -18
- data/lib/decko/generators/deck/templates/pryrc +0 -6
- data/lib/decko/generators/deck/templates/public/files/htaccess +0 -9
- data/lib/decko/generators/deck/templates/public/robots.txt +0 -13
- data/lib/decko/generators/deck/templates/rspec.erb +0 -6
- data/lib/decko/generators/deck/templates/script/decko +0 -6
- data/lib/decko/generators/deck/templates/script/decko_cucumber +0 -8
- data/lib/decko/generators/deck/templates/script/decko_rspec +0 -8
- data/lib/decko/generators/deck/templates/script/delayed_job +0 -5
- data/lib/decko/generators/deck/templates/simplecov.rb.erb +0 -34
- data/lib/decko/generators/deck/templates/spec/javascripts/support/deck_jasmine.yml.erb +0 -56
- data/lib/decko/generators/deck/templates/spec/javascripts/support/decko_jasmine.yml.erb +0 -74
- data/lib/decko/generators/deck/templates/spec/spec_helper.rb +0 -1
- data/script/autospec +0 -4
- data/script/decko +0 -6
- data/script/rails +0 -6
@@ -1,33 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
|
3
|
-
Decko.application.class.configure do
|
4
|
-
# Settings specified here will take precedence over those in config/environment.rb
|
5
|
-
# The profile environment should match the same settings
|
6
|
-
# as the production environment to give a reasonalbe
|
7
|
-
# approximation of performance. However, it should
|
8
|
-
# definitely not use the production databse!
|
9
|
-
|
10
|
-
config.eager_load = true
|
11
|
-
|
12
|
-
# Cache classes - otherwise your code
|
13
|
-
# will run approximately 5 times slower and the
|
14
|
-
# profiling results will be overwhelmed by Rails
|
15
|
-
# dependency loading mechanism
|
16
|
-
config.cache_classes = true
|
17
|
-
|
18
|
-
# Don't check template timestamps - once again this
|
19
|
-
# is to avoid IO times overwhelming profile results
|
20
|
-
config.action_view.cache_template_loading = true
|
21
|
-
|
22
|
-
# This is debatable, but turn off action controller
|
23
|
-
# caching to see how long it really takes to run
|
24
|
-
# queries and render templates
|
25
|
-
config.action_controller.perform_caching = true
|
26
|
-
|
27
|
-
# Turn off most logging
|
28
|
-
config.log_level = :info
|
29
|
-
|
30
|
-
config.active_support.deprecation = :log
|
31
|
-
|
32
|
-
config.action_mailer.perform_deliveries = false
|
33
|
-
end
|
@@ -1,69 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
|
3
|
-
Decko.application.class.configure do
|
4
|
-
# Settings specified here will take precedence over those in config/application.rb
|
5
|
-
|
6
|
-
config.eager_load = false
|
7
|
-
|
8
|
-
config.machine_refresh = :never
|
9
|
-
|
10
|
-
# The test environment is used exclusively to run your application's
|
11
|
-
# test suite. You never need to work with it otherwise. Remember that
|
12
|
-
# your test database is "scratch space" for the test suite and is wiped
|
13
|
-
# and recreated between test runs. Don't rely on the data there!
|
14
|
-
config.cache_classes = false
|
15
|
-
|
16
|
-
config.assets.enabled = true if Object.const_defined?(:JasmineRails)
|
17
|
-
|
18
|
-
config.persistent_cache = false
|
19
|
-
config.prepopulate_cache = true
|
20
|
-
|
21
|
-
# Configure static asset server for tests with Cache-Control for performance
|
22
|
-
config.serve_static_files = true
|
23
|
-
config.static_cache_control = "public, max-age=3600"
|
24
|
-
|
25
|
-
# Log error messages when you accidentally call methods on nil
|
26
|
-
config.whiny_nils = true
|
27
|
-
|
28
|
-
# Show full error reports and disable caching
|
29
|
-
config.consider_all_requests_local = true
|
30
|
-
config.action_controller.perform_caching = false
|
31
|
-
|
32
|
-
# Raise exceptions instead of rendering exception templates
|
33
|
-
config.action_dispatch.show_exceptions = false
|
34
|
-
|
35
|
-
# Disable request forgery protection in test environment
|
36
|
-
config.action_controller.allow_forgery_protection = false
|
37
|
-
|
38
|
-
# Tell Action Mailer not to deliver emails to the real world.
|
39
|
-
# The :test delivery method accumulates sent emails in the
|
40
|
-
# ActionMailer::Base.deliveries array.
|
41
|
-
config.action_mailer.delivery_method = :test
|
42
|
-
config.action_mailer.perform_deliveries = true
|
43
|
-
config.action_mailer.default charset: "utf-8"
|
44
|
-
|
45
|
-
# config.action_mailer.delivery_method = :smtp
|
46
|
-
# config.action_mailer.smtp_settings = { address: "localhost", port: 1025 }
|
47
|
-
|
48
|
-
# Use SQL instead of Active Record's schema dumper when creating the test database.
|
49
|
-
# This is necessary if your schema can't be completely dumped by the schema dumper,
|
50
|
-
# like if you have constraints or database-specific column types
|
51
|
-
# config.active_record.schema_format = :sql
|
52
|
-
|
53
|
-
# FIXME: - add back the next one when we go back to 3.2
|
54
|
-
# Raise exception on mass assignment protection for Active Record models
|
55
|
-
# config.active_record.mass_assignment_sanitizer = :strict
|
56
|
-
|
57
|
-
# Print deprecation notices to the stderr
|
58
|
-
config.active_support.deprecation = :stderr
|
59
|
-
|
60
|
-
config.raise_all_rendering_errors = true
|
61
|
-
|
62
|
-
config.rescue_all_in_controller = false
|
63
|
-
# Use Pry instead of IRB
|
64
|
-
silence_warnings do
|
65
|
-
require "pry"
|
66
|
-
config.console = Pry
|
67
|
-
rescue LoadError
|
68
|
-
end
|
69
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
|
3
|
-
# Be sure to restart your server when you modify this file.
|
4
|
-
|
5
|
-
# Your secret key for verifying the integrity of signed cookies.
|
6
|
-
# If you change this key, all old signed cookies will become invalid!
|
7
|
-
# Make sure the secret is at least 30 characters and all random,
|
8
|
-
# no regular words or you'll be exposed to dictionary attacks.
|
9
|
-
|
10
|
-
Decko.config.secret_token = "65632e048d6c80d1e63c911e1a40a51072413543f3182e0261"\
|
11
|
-
"b52e3812b2c9f0ee81828fa5688a34c13a78e438a4b56f4971"\
|
12
|
-
"35dc079a4e4460733d555968a2f8"
|
13
|
-
Decko.config.secret_key_base = "65632e048d6c80d1e63c911e1a40a51072413543f3182e0"\
|
14
|
-
"261b52e3812b2c9f0ee81828fa5688a34c13a78e438a4b5"\
|
15
|
-
"6f497135dc079a4e4460733d555968a2f8"
|
@@ -1,134 +0,0 @@
|
|
1
|
-
require "rails/generators/app_base"
|
2
|
-
|
3
|
-
module Decko
|
4
|
-
module Generators
|
5
|
-
module Deck
|
6
|
-
# Create new Decks (Decko Applications)
|
7
|
-
class DeckGenerator < Rails::Generators::AppBase
|
8
|
-
require "decko/generators/deck/deck_generator/rails_overrides"
|
9
|
-
require "decko/generators/deck/deck_generator/deck_helper"
|
10
|
-
|
11
|
-
include RailsOverrides
|
12
|
-
include DeckHelper
|
13
|
-
|
14
|
-
source_root File.expand_path("templates", __dir__)
|
15
|
-
|
16
|
-
# All but the first aliases should be considered deprecated
|
17
|
-
class_option "monkey",
|
18
|
-
type: :boolean, aliases: %w[-M --mod-dev],
|
19
|
-
default: false, group: :runtime,
|
20
|
-
desc: "Prepare deck for monkey (mod developer)"
|
21
|
-
|
22
|
-
class_option "platypus",
|
23
|
-
type: :boolean, aliases: %w[-P --core-dev -c],
|
24
|
-
default: false, group: :runtime,
|
25
|
-
desc: "Prepare deck for platypus (core development)"
|
26
|
-
|
27
|
-
class_option "repo-path",
|
28
|
-
type: :string, aliases: %w[-R -g --gem-path],
|
29
|
-
default: "", group: :runtime,
|
30
|
-
desc: "Path to local decko repository " \
|
31
|
-
"(Default, use env DECKO_REPO_PATH)"
|
32
|
-
|
33
|
-
class_option :database,
|
34
|
-
type: :string, aliases: %w[-D -d], default: "mysql",
|
35
|
-
desc: "Preconfigure for selected database " \
|
36
|
-
"(options: #{DATABASES.join('/')})"
|
37
|
-
|
38
|
-
class_option "interactive",
|
39
|
-
type: :boolean, aliases: %w[-I -i], default: false, group: :runtime,
|
40
|
-
desc: "Prompt with dynamic installation options"
|
41
|
-
|
42
|
-
public_task :set_default_accessors!
|
43
|
-
public_task :create_root
|
44
|
-
|
45
|
-
def self.banner
|
46
|
-
"decko new #{arguments.map(&:usage).join(' ')} [options]"
|
47
|
-
end
|
48
|
-
|
49
|
-
# Generator works its way through each public method below
|
50
|
-
|
51
|
-
def core_files
|
52
|
-
erb_template "config.ru"
|
53
|
-
erb_template "Gemfile"
|
54
|
-
erb_template "Rakefile"
|
55
|
-
end
|
56
|
-
|
57
|
-
def empty_dirs
|
58
|
-
%w[mod log files tmp].each { |dirname| empty_directory_with_keep_file dirname }
|
59
|
-
end
|
60
|
-
|
61
|
-
def dotfiles
|
62
|
-
copy_file "pryrc", ".pryrc"
|
63
|
-
copy_file "gitignore", ".gitignore"
|
64
|
-
template "rspec.erb", ".rspec"
|
65
|
-
template "simplecov.rb.erb", ".simplecov"
|
66
|
-
end
|
67
|
-
|
68
|
-
def config
|
69
|
-
inside "config" do
|
70
|
-
erb_template "application.rb"
|
71
|
-
erb_template "routes.rb"
|
72
|
-
erb_template "environment.rb"
|
73
|
-
erb_template "boot.rb"
|
74
|
-
template "databases/#{options[:database]}.yml", "database.yml"
|
75
|
-
template "cucumber.yml"
|
76
|
-
template "storage.yml"
|
77
|
-
template "initializers/cypress.rb" if platypus?
|
78
|
-
template "puma.rb"
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
def public
|
83
|
-
inside "public" do
|
84
|
-
template "robots.txt"
|
85
|
-
inside("files") { template "htaccess", ".htaccess" }
|
86
|
-
end
|
87
|
-
end
|
88
|
-
|
89
|
-
def spring
|
90
|
-
inside("bin") { erb_template "spring" }
|
91
|
-
end
|
92
|
-
|
93
|
-
def script
|
94
|
-
directory("script") { |content| "#{shebang}\n" + content }
|
95
|
-
chmod "script", 0o755 & ~File.umask, verbose: false
|
96
|
-
end
|
97
|
-
|
98
|
-
def spec
|
99
|
-
inside "spec" do
|
100
|
-
if platypus?
|
101
|
-
jasmine_yml :decko
|
102
|
-
else
|
103
|
-
jasmine_yml :deck
|
104
|
-
template "spec_helper.rb"
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
|
-
public_task :run_bundle
|
110
|
-
|
111
|
-
def seed_data
|
112
|
-
if options["interactive"]
|
113
|
-
Interactive.new(destination_root, (monkey? || platypus?)).run
|
114
|
-
else
|
115
|
-
puts "Now:
|
116
|
-
1. Run `cd #{File.basename(destination_root)}` to enter your new deck directory
|
117
|
-
2. Run `decko seed` to seed your database (see config/database.yml).
|
118
|
-
3. Run `decko server` to start your server"
|
119
|
-
end
|
120
|
-
end
|
121
|
-
|
122
|
-
protected
|
123
|
-
|
124
|
-
def database_gemfile_entry
|
125
|
-
return [] if options[:skip_active_record]
|
126
|
-
|
127
|
-
gem_name, gem_version = gem_for_database
|
128
|
-
msg = "Use #{options[:database]} as the database for Active Record"
|
129
|
-
GemfileEntry.version gem_name, gem_version, msg
|
130
|
-
end
|
131
|
-
end
|
132
|
-
end
|
133
|
-
end
|
134
|
-
end
|
@@ -1,110 +0,0 @@
|
|
1
|
-
module Decko
|
2
|
-
module Generators
|
3
|
-
module Deck
|
4
|
-
class DeckGenerator
|
5
|
-
# Protected helper methods for DeckGenerator.
|
6
|
-
# Many methods are called from .erb files.
|
7
|
-
module DeckHelper
|
8
|
-
protected
|
9
|
-
|
10
|
-
def shark?
|
11
|
-
!(monkey? || platypus?)
|
12
|
-
end
|
13
|
-
|
14
|
-
def monkey?
|
15
|
-
options[:monkey]
|
16
|
-
end
|
17
|
-
|
18
|
-
def platypus?
|
19
|
-
options[:platypus]
|
20
|
-
end
|
21
|
-
|
22
|
-
def erb_template name
|
23
|
-
template "#{name}.erb", name
|
24
|
-
end
|
25
|
-
|
26
|
-
def repo_path
|
27
|
-
@repo_path ||= determine_repo_path
|
28
|
-
end
|
29
|
-
|
30
|
-
def expanded_repo_path
|
31
|
-
@expanded_repo_path ||= File.expand_path repo_path
|
32
|
-
end
|
33
|
-
|
34
|
-
def determine_repo_path
|
35
|
-
@repo_path_determined ? (return nil) : (@repo_path_determined = true)
|
36
|
-
path = options["repo-path"]
|
37
|
-
path = ENV["DECKO_REPO_PATH"] if path.blank?
|
38
|
-
path = prompt_for_repo_path if path.blank? && platypus?
|
39
|
-
path.to_s
|
40
|
-
end
|
41
|
-
|
42
|
-
def repo_path_constraint
|
43
|
-
repo_path.present? ? %(, path: "#{repo_path}") : ""
|
44
|
-
end
|
45
|
-
|
46
|
-
def prompt_for_repo_path
|
47
|
-
@repo_path = ask "Enter the path to your local decko repository: "
|
48
|
-
end
|
49
|
-
|
50
|
-
def spec_path
|
51
|
-
@spec_path ||= platypus? ? repo_path : "mod/"
|
52
|
-
end
|
53
|
-
|
54
|
-
def spec_helper_path
|
55
|
-
@spec_helper_path ||=
|
56
|
-
platypus? ? "#{repo_path}/card/spec/spec_helper" : "./spec/spec_helper"
|
57
|
-
end
|
58
|
-
|
59
|
-
def features_path
|
60
|
-
@features_path ||=
|
61
|
-
platypus? ? File.expand_path("#{repo_path}/decko/features/") : "mod/"
|
62
|
-
end
|
63
|
-
|
64
|
-
# FIXME: these gem roots are not correct unless repo_path is specified
|
65
|
-
def cardio_gem_root
|
66
|
-
@cardio_gem_root ||= File.join repo_path, "card"
|
67
|
-
end
|
68
|
-
|
69
|
-
def decko_gem_root
|
70
|
-
@decko_gem_root ||= File.join repo_path, "decko"
|
71
|
-
end
|
72
|
-
|
73
|
-
def database_gem_and_version
|
74
|
-
entry = database_gemfile_entry
|
75
|
-
text = %("#{entry.name}")
|
76
|
-
text << %(, '#{entry.version}') if entry.version
|
77
|
-
# single quotes to prevent, eg: `gem "pg", ">= 0.18', '< 2.0"`
|
78
|
-
text
|
79
|
-
end
|
80
|
-
|
81
|
-
def simplecov_config
|
82
|
-
"" # TODO: add simplecov configs here
|
83
|
-
end
|
84
|
-
|
85
|
-
def jasmine_yml prefix
|
86
|
-
inside("javascripts/support") do
|
87
|
-
template "#{prefix}_jasmine.yml.erb", "jasmine.yml"
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
def mysql_socket
|
92
|
-
return if RbConfig::CONFIG["host_os"].match?(/mswin|mingw/)
|
93
|
-
|
94
|
-
@mysql_socket ||= [
|
95
|
-
"/tmp/mysql.sock", # default
|
96
|
-
"/var/run/mysqld/mysqld.sock", # debian/gentoo
|
97
|
-
"/var/tmp/mysql.sock", # freebsd
|
98
|
-
"/var/lib/mysql/mysql.sock", # fedora
|
99
|
-
"/opt/local/lib/mysql/mysql.sock", # fedora
|
100
|
-
"/opt/local/var/run/mysqld/mysqld.sock", # mac + darwinports + mysql
|
101
|
-
"/opt/local/var/run/mysql4/mysqld.sock", # mac + darwinports + mysql4
|
102
|
-
"/opt/local/var/run/mysql5/mysqld.sock", # mac + darwinports + mysql5
|
103
|
-
"/opt/lampp/var/mysql/mysql.sock" # xampp for linux
|
104
|
-
].find { |f| File.exist?(f) }
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
109
|
-
end
|
110
|
-
end
|
@@ -1,120 +0,0 @@
|
|
1
|
-
module Decko
|
2
|
-
module Generators
|
3
|
-
module Deck
|
4
|
-
class DeckGenerator
|
5
|
-
# Guides through the decko deck installation with an interactive menu
|
6
|
-
# Offers the possibilitiy to
|
7
|
-
# - edit database config
|
8
|
-
# - edit application.rb
|
9
|
-
# - seed database
|
10
|
-
# - run server
|
11
|
-
class Interactive
|
12
|
-
def initialize destination_root, dev=false
|
13
|
-
@dev = dev
|
14
|
-
@destination_root = destination_root
|
15
|
-
end
|
16
|
-
|
17
|
-
def run
|
18
|
-
require config_path("application") # need this for Rails.env
|
19
|
-
@menu = ActiveSupport::OrderedHash.new
|
20
|
-
add_config_options
|
21
|
-
add_seed_options
|
22
|
-
add_exit_option
|
23
|
-
while (answer = ask(build_menu)) != "x"
|
24
|
-
if @menu.key? answer
|
25
|
-
@menu[answer][:code].call
|
26
|
-
else
|
27
|
-
puts "invalid choice"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
private
|
33
|
-
|
34
|
-
def dev_options?
|
35
|
-
@dev
|
36
|
-
end
|
37
|
-
|
38
|
-
def config_path file
|
39
|
-
File.join destination_root, "config", file
|
40
|
-
end
|
41
|
-
|
42
|
-
def bundle_exec command, opts={}
|
43
|
-
rails_env = "RAILS_ENV=#{opts[:rails_env]}" if opts[:rails_env]
|
44
|
-
system "cd #{destination_root} && #{rails_env} bundle exec #{command}"
|
45
|
-
end
|
46
|
-
|
47
|
-
def build_menu
|
48
|
-
lines = ["What would you like to do next?"]
|
49
|
-
lines += @menu.map { |key, v| build_option key, v[:desc], v[:command] }
|
50
|
-
lines << "[#{@menu.keys.join}]"
|
51
|
-
"\n#{lines.join("\n")}\n"
|
52
|
-
end
|
53
|
-
|
54
|
-
def build_option key, desc, command
|
55
|
-
command &&= "#{' ' * (65 - desc.size)}[#{command}]"
|
56
|
-
" #{key} - #{desc}#{command}"
|
57
|
-
end
|
58
|
-
|
59
|
-
def add_config_options
|
60
|
-
@menu["d"] = {
|
61
|
-
desc: "edit database configuration file",
|
62
|
-
command: "nano config/database.yml",
|
63
|
-
code: proc { system "nano #{config_path 'database.yml'}" }
|
64
|
-
}
|
65
|
-
@menu["c"] = {
|
66
|
-
desc: "configure Decko (e.g. email settings)",
|
67
|
-
command: "nano config/application.rb",
|
68
|
-
code: proc { system "nano #{config_path 'application.rb'}" }
|
69
|
-
}
|
70
|
-
end
|
71
|
-
|
72
|
-
def add_seed_options
|
73
|
-
add_common_seed_option
|
74
|
-
add_seed_all_option
|
75
|
-
end
|
76
|
-
|
77
|
-
def add_common_seed_option
|
78
|
-
@menu["s"] = {
|
79
|
-
desc: "seed #{Rails.env}#{' and test' if dev_options?} database",
|
80
|
-
command: "decko seed",
|
81
|
-
code: proc do
|
82
|
-
bundle_exec "rake decko:seed"
|
83
|
-
bundle_exec "rake decko:seed", rails_env: "test" if dev_options?
|
84
|
-
add_after_seed_options
|
85
|
-
end
|
86
|
-
}
|
87
|
-
end
|
88
|
-
|
89
|
-
def add_seed_all_option
|
90
|
-
@menu["a"] = {
|
91
|
-
desc: "seed all databases (production, development, and test)",
|
92
|
-
command: "decko seed --all",
|
93
|
-
code: proc do
|
94
|
-
%w[production development test].each do |env|
|
95
|
-
bundle_exec "rake decko:seed", rails_env: env
|
96
|
-
end
|
97
|
-
add_after_seed_options
|
98
|
-
end
|
99
|
-
}
|
100
|
-
end
|
101
|
-
|
102
|
-
def add_exit_option
|
103
|
-
@menu["x"] = {
|
104
|
-
desc: "exit (run 'decko seed' to complete the installation later)"
|
105
|
-
}
|
106
|
-
end
|
107
|
-
|
108
|
-
def add_after_seed_options
|
109
|
-
@menu["x"][:desc] = "exit"
|
110
|
-
@menu["r"] = {
|
111
|
-
desc: "run decko server",
|
112
|
-
command: "decko server",
|
113
|
-
code: proc { bundle_exec "decko server" }
|
114
|
-
}
|
115
|
-
end
|
116
|
-
end
|
117
|
-
end
|
118
|
-
end
|
119
|
-
end
|
120
|
-
end
|