decko 0.11.7 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|