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.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/lib/card_controller.rb +4 -0
  3. data/lib/card_controller/errors.rb +11 -13
  4. data/lib/decko.rb +2 -15
  5. data/lib/decko/all.rb +2 -0
  6. data/lib/decko/application.rb +22 -56
  7. data/lib/decko/cli.rb +1 -7
  8. data/lib/decko/commands.rb +17 -110
  9. data/lib/decko/commands/application.rb +2 -2
  10. data/lib/decko/commands/cucumber_command.rb +8 -7
  11. data/lib/decko/commands/cucumber_command/parser.rb +2 -2
  12. data/lib/decko/engine.rb +3 -14
  13. data/lib/decko/generators.rb +17 -0
  14. data/lib/decko/mods_spec_helper.rb +1 -1
  15. data/lib/decko/script_decko_loader.rb +5 -38
  16. data/lib/decko/tasks/cucumber.rake +25 -16
  17. data/lib/decko/tasks/decko.rake +1 -2
  18. data/lib/decko/tasks/decko/seed.rake +5 -3
  19. data/lib/generators/deck/deck_generator.rb +12 -0
  20. metadata +23 -65
  21. data/lib/decko/commands/command.rb +0 -28
  22. data/lib/decko/commands/rake_command.rb +0 -42
  23. data/lib/decko/commands/rake_command/parser.rb +0 -35
  24. data/lib/decko/commands/rspec_command.rb +0 -36
  25. data/lib/decko/commands/rspec_command/parser.rb +0 -97
  26. data/lib/decko/config/environments/cucumber.rb +0 -41
  27. data/lib/decko/config/environments/cypress.rb +0 -100
  28. data/lib/decko/config/environments/development.rb +0 -95
  29. data/lib/decko/config/environments/production.rb +0 -75
  30. data/lib/decko/config/environments/profile.rb +0 -33
  31. data/lib/decko/config/environments/test.rb +0 -69
  32. data/lib/decko/config/initializers/secret_token.rb +0 -15
  33. data/lib/decko/config/initializers/sedate_parser.rb +0 -8
  34. data/lib/decko/config/initializers/session_store.rb +0 -2
  35. data/lib/decko/generators/deck/USAGE +0 -9
  36. data/lib/decko/generators/deck/deck_generator.rb +0 -134
  37. data/lib/decko/generators/deck/deck_generator/deck_helper.rb +0 -110
  38. data/lib/decko/generators/deck/deck_generator/interactive.rb +0 -120
  39. data/lib/decko/generators/deck/deck_generator/rails_overrides.rb +0 -54
  40. data/lib/decko/generators/deck/templates/Gemfile.erb +0 -56
  41. data/lib/decko/generators/deck/templates/Rakefile.erb +0 -6
  42. data/lib/decko/generators/deck/templates/bin/spring.erb +0 -20
  43. data/lib/decko/generators/deck/templates/config.ru.erb +0 -11
  44. data/lib/decko/generators/deck/templates/config/application.rb.erb +0 -107
  45. data/lib/decko/generators/deck/templates/config/boot.rb.erb +0 -11
  46. data/lib/decko/generators/deck/templates/config/cucumber.yml +0 -1
  47. data/lib/decko/generators/deck/templates/config/databases/frontbase.yml +0 -34
  48. data/lib/decko/generators/deck/templates/config/databases/ibm_db.yml +0 -89
  49. data/lib/decko/generators/deck/templates/config/databases/jdbc.yml +0 -65
  50. data/lib/decko/generators/deck/templates/config/databases/jdbcmysql.yml +0 -36
  51. data/lib/decko/generators/deck/templates/config/databases/jdbcpostgresql.yml +0 -46
  52. data/lib/decko/generators/deck/templates/config/databases/jdbcsqlite3.yml +0 -23
  53. data/lib/decko/generators/deck/templates/config/databases/mysql.yml +0 -37
  54. data/lib/decko/generators/deck/templates/config/databases/oracle.yml +0 -42
  55. data/lib/decko/generators/deck/templates/config/databases/postgresql.yml +0 -39
  56. data/lib/decko/generators/deck/templates/config/databases/sqlite3.yml +0 -21
  57. data/lib/decko/generators/deck/templates/config/deck.yml +0 -10
  58. data/lib/decko/generators/deck/templates/config/environment.rb.erb +0 -5
  59. data/lib/decko/generators/deck/templates/config/initializers/cypress.rb +0 -12
  60. data/lib/decko/generators/deck/templates/config/puma.rb +0 -16
  61. data/lib/decko/generators/deck/templates/config/routes.rb.erb +0 -11
  62. data/lib/decko/generators/deck/templates/config/storage.yml +0 -0
  63. data/lib/decko/generators/deck/templates/gitignore +0 -18
  64. data/lib/decko/generators/deck/templates/pryrc +0 -6
  65. data/lib/decko/generators/deck/templates/public/files/htaccess +0 -9
  66. data/lib/decko/generators/deck/templates/public/robots.txt +0 -13
  67. data/lib/decko/generators/deck/templates/rspec.erb +0 -6
  68. data/lib/decko/generators/deck/templates/script/decko +0 -6
  69. data/lib/decko/generators/deck/templates/script/decko_cucumber +0 -8
  70. data/lib/decko/generators/deck/templates/script/decko_rspec +0 -8
  71. data/lib/decko/generators/deck/templates/script/delayed_job +0 -5
  72. data/lib/decko/generators/deck/templates/simplecov.rb.erb +0 -34
  73. data/lib/decko/generators/deck/templates/spec/javascripts/support/deck_jasmine.yml.erb +0 -56
  74. data/lib/decko/generators/deck/templates/spec/javascripts/support/decko_jasmine.yml.erb +0 -74
  75. data/lib/decko/generators/deck/templates/spec/spec_helper.rb +0 -1
  76. data/script/autospec +0 -4
  77. data/script/decko +0 -6
  78. data/script/rails +0 -6
@@ -1,35 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- require "optparse"
4
-
5
- module Decko
6
- module Commands
7
- class RakeCommand
8
- class Parser < OptionParser
9
- def initialize command, opts
10
- super() do |parser|
11
- parser.banner = "Usage: decko #{command} [options]\n\n" \
12
- "Run decko:#{command} task on the production "\
13
- " database specified in config/database.yml\n\n"
14
- parser.on("--production", "-p",
15
- "#{command} production database (default)") do
16
- opts[:envs] = ["production"]
17
- end
18
- parser.on("--test", "-t",
19
- "#{command} test database") do
20
- opts[:envs] = ["test"]
21
- end
22
- parser.on("--development", "-d",
23
- "#{command} development database") do
24
- opts[:envs] = ["development"]
25
- end
26
- parser.on("--all", "-a",
27
- "#{command} production, test, and development database") do
28
- opts[:envs] = %w[production development test]
29
- end
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,36 +0,0 @@
1
- require File.expand_path("command", __dir__)
2
-
3
- module Decko
4
- module Commands
5
- class RspecCommand < Command
6
- def initialize args
7
- require "rspec/core"
8
- require "decko/application"
9
-
10
- @decko_args, @rspec_args = split_args args
11
- @opts = {}
12
- Parser.new(@opts).parse!(@decko_args)
13
- end
14
-
15
- def command
16
- "#{env_args} #{@opts[:executer]} #{@opts[:rescue]}" \
17
- "rspec #{@rspec_args.shelljoin} #{@opts[:files]}"
18
- end
19
-
20
- private
21
-
22
- def env_args
23
- ["RAILS_ROOT=.", coverage].compact.join " "
24
- end
25
-
26
- def coverage
27
- # no coverage if rspec was started with file argument
28
- return unless @opts[:files] || @rspec_args.present?
29
-
30
- "COVERAGE=false"
31
- end
32
- end
33
- end
34
- end
35
-
36
- require File.expand_path("rspec_command/parser", __dir__)
@@ -1,97 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- require "optparse"
4
-
5
- module Decko
6
- module Commands
7
- class RspecCommand
8
- class Parser < OptionParser
9
- RSPEC_PATH_MESSAGE = <<-EOT
10
-
11
- DECKO ARGS
12
-
13
- You don't have to give a full path for FILENAME; the basename is enough.
14
- If FILENAME does not include '_spec', then rspec searches for the
15
- corresponding spec file.
16
- The line number always refers to the example in the spec file.
17
-
18
- EOT
19
-
20
- def initialize opts
21
- super() do |parser|
22
- parser.banner = "Usage: decko rspec [DECKO ARGS] -- [RSPEC ARGS]\n\n" \
23
- "RSPEC ARGS"
24
- parser.separator RSPEC_PATH_MESSAGE
25
-
26
- parser.on("-d", "--spec FILENAME(:LINE)",
27
- "Run spec for a Decko deck file") do |file|
28
- opts[:files] = find_spec_file(file, "#{Decko.root}/mod")
29
- end
30
- parser.on("-c", "--core-spec FILENAME(:LINE)",
31
- "Run spec for a Decko core file") do |file|
32
- opts[:files] = find_spec_file(file, Cardio.gem_root)
33
- end
34
- parser.on("-m", "--mod MODNAME",
35
- "Run all specs for a mod or matching a mod") do |file|
36
- opts[:files] = find_mod_file(file, Cardio.gem_root)
37
- end
38
- parser.on("-s", "--[no-]simplecov", "Run with simplecov") do |s|
39
- opts[:simplecov] = s ? "TMPSETS=true" : ""
40
- end
41
- parser.on("--rescue", "Run with pry-rescue") do
42
- process_rescue_opts opts
43
- end
44
- parser.on("--[no-]spring", "Run with spring") do |spring|
45
- process_spring_opts spring, opts
46
- end
47
- parser.separator "\n"
48
- end
49
- end
50
-
51
- private
52
-
53
- def process_rescue_opts opts
54
- if opts[:executer] == "spring"
55
- puts "Disabled pry-rescue. Not compatible with spring."
56
- else
57
- opts[:rescue] = "rescue "
58
- end
59
- end
60
-
61
- def process_spring_opts spring, opts
62
- if spring
63
- opts[:executer] = "spring"
64
- if opts[:rescue]
65
- opts[:rescue] = ""
66
- puts "Disabled pry-rescue. Not compatible with spring."
67
- end
68
- else
69
- opts[:executer] = "bundle exec"
70
- end
71
- end
72
-
73
- def find_mod_file filename, base_dir
74
- if File.exist?("mod/#{filename}") || File.exist?("#{base_dir}/mod/#{filename}")
75
- "#{base_dir}/mod/#{filename}"
76
- elsif (files = find_spec_file(filename, "mod"))&.present?
77
- files
78
- else
79
- find_spec_file(file, "#{base_dir}/mod")
80
- end
81
- end
82
-
83
- def find_spec_file filename, base_dir
84
- file, line = filename.split(":")
85
- if file.include?("_spec.rb") && File.exist?(file)
86
- filename
87
- else
88
- file = File.basename(file, ".rb").sub(/_spec$/, "")
89
- Dir.glob("#{base_dir}/**/#{file}_spec.rb").flatten.map do |spec_file|
90
- line ? "#{spec_file}:#{line}" : file
91
- end.join(" ")
92
- end
93
- end
94
- end
95
- end
96
- end
97
- end
@@ -1,41 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- Decko.application.class.configure do
4
- # Edit at your own peril - it's recommended to regenerate this file
5
- # in the future when you upgrade to a newer version of Cucumber.
6
-
7
- config.eager_load = false
8
-
9
- config.machine_refresh = :never
10
-
11
- # IMPORTANT: Setting config.cache_classes to false is known to
12
- # break Cucumber's use_transactional_fixtures method.
13
- # For more information see https://rspec.lighthouseapp.com/projects/16211/tickets/165
14
- config.cache_classes = true
15
-
16
- config.prepopulate_cache = true
17
-
18
- # Log error messages when you accidentally call methods on nil.
19
- config.whiny_nils = true
20
-
21
- # Show full error reports and disable caching
22
- config.consider_all_requests_local = true
23
- config.action_controller.perform_caching = true
24
-
25
- # Disable request forgery protection in test environment
26
- config.action_controller.allow_forgery_protection = false
27
-
28
- config.active_support.deprecation = :log
29
-
30
- config.log_level = :debug
31
-
32
- # Tell Action Mailer not to deliver emails to the real world.
33
- # The :test delivery method accumulates sent emails in the
34
- # ActionMailer::Base.deliveries array.
35
- config.action_mailer.delivery_method = :test
36
-
37
- config.use_transactional_fixtures = false
38
-
39
- config.rescue_all_in_controller = false
40
- config.raise_all_rendering_errors = true
41
- end
@@ -1,100 +0,0 @@
1
- Decko::Engine.configure do
2
- config.cache_classes = false
3
- end
4
-
5
- # -*- encoding : utf-8 -*-
6
-
7
- Decko.application.class.configure do
8
- # Settings specified here will take precedence over those in config/application.rb
9
-
10
- config.view_cache = false
11
-
12
- config.eager_load = false
13
-
14
- config.machine_refresh = :eager
15
- config.compress_javascript = false
16
-
17
- # In the development environment your application's code is reloaded on
18
- # every request. This slows down response time but is perfect for development
19
- # since you don't have to restart the web server when you make code changes.
20
- config.cache_classes = false
21
- config.reload_classes_only_on_change = false
22
-
23
- # if defined?(RailsDevTweaks)
24
- # config.dev_tweaks.autoload_rules do
25
- # skip "/files"
26
- # skip "/favicon.ico"
27
- # skip /view\=status/
28
- # end
29
- # end
30
-
31
- # Log error messages when you accidentally call methods on nil.
32
- config.whiny_nils = true
33
-
34
- # Show full error reports and disable caching
35
- config.consider_all_requests_local = true
36
- config.action_controller.perform_caching = false
37
-
38
- # Don't care if the mailer can't send
39
- config.action_mailer.raise_delivery_errors = false
40
-
41
- # Print deprecation notices to the Rails logger
42
- config.active_support.deprecation = :log
43
-
44
- # See everything in the log (default is :info)
45
- config.log_level = :debug
46
-
47
- # if false, most rendering errors will be rescued and made visible only
48
- # in the nest where the error occurred
49
- config.raise_all_rendering_errors = true
50
-
51
- # if false, application will raise errors that make it to controller.
52
- config.rescue_all_in_controller = false
53
-
54
- # config.performance_logger = {
55
- # methods: [:event, :search, :fetch, :view], # choose methods to log
56
- # min_time: 100, # show only method calls that are slower than 100ms
57
- # max_depth: 3, # show nested method calls only up to depth 3
58
- # details: true # show method arguments and sql
59
- # log_level: :info
60
- # }
61
-
62
- # Only use best-standards-support built into browsers
63
- config.action_dispatch.best_standards_support = :builtin
64
-
65
- # Do not compress assets
66
- # config.assets.compress = false
67
- #
68
- # # Expands the lines which load the assets
69
- # config.assets.debug = false
70
- #
71
- # # This needs to be on for tinymce to work, because several important files (themes, etc) are only served statically
72
- # config.serve_static_files = ENV['STATIC_ASSETS'] || true
73
- #
74
- # # Setting a bogus directory so rails won't find public/assets in dev mode.
75
- # # Normally you could skip that by not serving static assets, but that breaks tinymce (see above)
76
- # config.assets.prefix = "dynamic-assets"
77
-
78
- # Log the query plan for queries taking more than this (works
79
- # with SQLite, MySQL, and PostgreSQL)
80
- # config.active_record.auto_explain_threshold_in_seconds = 0.5
81
-
82
- # if File.exists?(File.join(Rails.root,'tmp', 'debug.txt'))
83
- # require 'ruby-debug'
84
- # Debugger.wait_connection = true
85
- # Debugger.start_remote
86
- # File.delete(File.join(Rails.root,'tmp', 'debug.txt'))
87
- # end
88
-
89
- config.action_mailer.perform_deliveries = false
90
-
91
- # Use Pry instead of IRB
92
- silence_warnings do
93
- require "pry"
94
- config.console = Pry
95
- rescue LoadError
96
- end
97
- # config.session_store :cookie_store
98
- end
99
-
100
- # Paperclip.options[:command_path] = "/opt/local/bin"
@@ -1,95 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- Decko::Engine.configure do
4
- config.cache_classes = false
5
- end
6
-
7
- Decko.application.class.configure do
8
- # Settings specified here will take precedence over those in config/application.rb
9
-
10
- config.view_cache = false
11
-
12
- config.eager_load = false
13
-
14
- config.machine_refresh = :eager
15
- config.compress_javascript = false
16
-
17
- # In the development environment your application's code is reloaded on
18
- # every request. This slows down response time but is perfect for development
19
- # since you don't have to restart the web server when you make code changes.
20
- config.cache_classes = false
21
- config.reload_classes_only_on_change = true
22
-
23
- # Log error messages when you accidentally call methods on nil.
24
- config.whiny_nils = true
25
-
26
- # Show full error reports and disable caching
27
- config.consider_all_requests_local = true
28
- config.action_controller.perform_caching = false
29
-
30
- # Don't care if the mailer can't send
31
- config.action_mailer.raise_delivery_errors = false
32
-
33
- # Print deprecation notices to the Rails logger
34
- config.active_support.deprecation = :log
35
-
36
- # See everything in the log (default is :info)
37
- config.log_level = :debug
38
-
39
- # if false, most rendering errors will be rescued and made visible only
40
- # in the nest where the error occurred
41
- config.raise_all_rendering_errors = true
42
-
43
- # if false, application will raise errors that make it to controller.
44
- config.rescue_all_in_controller = false
45
-
46
- # config.performance_logger = {
47
- # methods: [:event, :search, :fetch, :view], # choose methods to log
48
- # min_time: 100, # show only method calls that are slower than 100ms
49
- # max_depth: 3, # show nested method calls only up to depth 3
50
- # details: true # show method arguments and sql
51
- # log_level: :info
52
- # }
53
-
54
- # Only use best-standards-support built into browsers
55
- config.action_dispatch.best_standards_support = :builtin
56
-
57
- # Do not compress assets
58
- # config.assets.compress = false
59
- #
60
- # # Expands the lines which load the assets
61
- # config.assets.debug = false
62
- #
63
- # # This needs to be on for tinymce to work, because several important files
64
- # (themes, etc) are only served statically
65
- # config.serve_static_files = ENV['STATIC_ASSETS'] || true
66
- #
67
- # # Setting a bogus directory so rails won't find public/assets in dev mode.
68
- # # Normally you could skip that by not serving static assets, but that breaks
69
- # tinymce (see above)
70
- # config.assets.prefix = "dynamic-assets"
71
-
72
- # Log the query plan for queries taking more than this (works
73
- # with SQLite, MySQL, and PostgreSQL)
74
- # config.active_record.auto_explain_threshold_in_seconds = 0.5
75
-
76
- # if File.exists?(File.join(Rails.root,'tmp', 'debug.txt'))
77
- # require 'ruby-debug'
78
- # Debugger.wait_connection = true
79
- # Debugger.start_remote
80
- # File.delete(File.join(Rails.root,'tmp', 'debug.txt'))
81
- # end
82
-
83
- config.action_mailer.perform_deliveries = false
84
-
85
- # Use Pry instead of IRB
86
- silence_warnings do
87
- require "pry"
88
- config.console = Pry
89
- rescue LoadError
90
- end
91
-
92
- # config.session_store :cookie_store
93
- end
94
-
95
- # Paperclip.options[:command_path] = "/opt/local/bin"
@@ -1,75 +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 = true
7
-
8
- # temporary fix for formerly autoloaded files that stopped autoloading in Rails 5
9
- # TODO: configure eager_load_paths explicitly (and remove this)
10
- config.enable_dependency_loading = true
11
-
12
- # Code is not reloaded between requests
13
- config.cache_classes = true
14
-
15
- # Full error reports are disabled and caching is turned on
16
- config.consider_all_requests_local = false
17
- config.action_controller.perform_caching = true
18
-
19
- # Disable Rails's static asset server (Apache or nginx will already do this)
20
- config.serve_static_files = defined?(Rails::Server)
21
-
22
- # Compress JavaScripts and CSS
23
- config.assets.compress = true
24
-
25
- # Don't fallback to assets pipeline if a precompiled asset is missed
26
- config.assets.compile = false
27
-
28
- # Generate digests for assets URLs
29
- config.assets.digest = true
30
-
31
- # Defaults to Rails.root.join("public/assets")
32
- # config.assets.manifest = File.join(Decko.gem_root, "public/assets")
33
-
34
- # Specifies the header that your server uses for sending files
35
- # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
36
- # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
37
-
38
- # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
39
- # config.force_ssl = true
40
-
41
- # See everything in the log (default is :info)
42
- config.log_level = :info
43
-
44
- # Use a different logger for distributed setups
45
- # config.logger = SyslogLogger.new
46
-
47
- # Use a different cache store in production
48
- # config.cache_store = :mem_cache_store
49
-
50
- # Enable serving of images, stylesheets, and JavaScripts from an asset server
51
- # config.action_controller.asset_host = "http://assets.example.com"
52
-
53
- # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
54
- config.assets.precompile += %w[application-all.css application-print.css barebones.css
55
- html5shiv-printshiv.js]
56
-
57
- # Disable delivery errors, bad email addresses will be ignored
58
- # config.action_mailer.raise_delivery_errors = false
59
-
60
- # Enable threaded mode
61
- # config.threadsafe!
62
-
63
- # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
64
- # the I18n.default_locale when a translation can not be found)
65
- config.i18n.fallbacks = true
66
-
67
- # Send deprecation notices to registered listeners
68
- config.active_support.deprecation = :notify
69
-
70
- # cache the list of set module objects on card objects
71
- config.cache_set_module_list = true
72
-
73
- # if false, application will raise errors that make it to controller.
74
- config.rescue_all_in_controller = true
75
- end