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,54 +0,0 @@
1
- module Decko
2
- module Generators
3
- module Deck
4
- class DeckGenerator
5
- ### the following is straight from rails and is focused on checking
6
- # the validity of the app name.needs decko-specific tuning
7
- module RailsOverrides
8
- protected
9
-
10
- def app_name
11
- @app_name ||=
12
- defined_app_const_base? ? defined_app_name : File.basename(destination_root)
13
- end
14
-
15
- def defined_app_name
16
- defined_app_const_base.underscore
17
- end
18
-
19
- def defined_app_const_base
20
- Rails.respond_to?(:application) && defined?(Rails::Application) &&
21
- Decko.application.is_a?(Rails::Application) &&
22
- Decko.application.class.name.sub(/::Application$/, "")
23
- end
24
-
25
- alias_method :defined_app_const_base?, :defined_app_const_base
26
-
27
- def app_const_base
28
- @app_const_base ||= defined_app_const_base ||
29
- app_name.gsub(/\W/, "_").squeeze("_").camelize
30
- end
31
-
32
- alias_method :camelized, :app_const_base
33
-
34
- def app_const
35
- @app_const ||= "#{app_const_base}::Application"
36
- end
37
-
38
- def valid_const?
39
- if app_const.match?(/^\d/)
40
- invalid_app_name "Please give a name which does not start with numbers."
41
- elsif Object.const_defined?(app_const_base)
42
- invalid_app_name "constant #{app_const_base} is already in use. " \
43
- "Please choose another application name."
44
- end
45
- end
46
-
47
- def invalid_app_name message
48
- raise Thor::Error, "Invalid application name #{app_name}, #{message}"
49
- end
50
- end
51
- end
52
- end
53
- end
54
- end
@@ -1,56 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- gem "decko"<%= repo_path_constraint %>
4
-
5
-
6
- # DATABASE
7
- # Decko currently supports MySQL (best tested), PostgreSQL (well tested), and SQLite
8
- # (not well tested).
9
- gem <%= database_gem_and_version %>
10
-
11
-
12
- # WEBSERVER
13
- # To run a simple deck at localhost:3000, you can use thin (recommended), unicorn,
14
- # or (Rails" default) Webrick
15
- gem "thin"
16
- # gem "unicorn"
17
-
18
-
19
- # CARD MODS
20
- # The easiest way to change card behaviors is with card mods. To install a mod:
21
- #
22
- # 1. add `gem "card-mod-MODNAME"` below
23
- # 2. run `bundle update` to install the code
24
- # 3. run `decko update` to make any needed changes to your deck
25
- #
26
- # The "defaults" includes a lot of functionality that is needed in standard decks.
27
- gem "card-mod-defaults"
28
-
29
-
30
- # BACKGROUND
31
- # A background gem is needed to run tasks like sending notifications in a background
32
- # process.
33
- # See https://github.com/decko-commons/decko/tree/master/card-mod-delayed_job
34
- # for additional configuration details.
35
- <%= "# " if shark? %>gem "card-mod-delayed_job"
36
-
37
-
38
- # MONKEYS
39
- # You can also create your own mods. Mod developers (or "Monkeys") will want some
40
- # additional gems to support development and testing.
41
- <%= "# " if shark? %>gem "card-mod-monkey", group: :development
42
- <%= "# " if shark? %>gem "decko-rspec", group: :test
43
- <%= "# " if shark? %>gem "decko-cucumber", group: :cucumber
44
- <%= "# " if shark? %>gem "decko-cypress", group: %i[test development]
45
- <%= "# " if shark? %>gem "decko-profile", group: :profile
46
- <%= "# " if shark? || !spring_install? %>gem "decko-spring"
47
-
48
- <% if platypus? %>
49
- # PLATYPUSES
50
- # This mod is strongly recommended for platypuses – coders working on the decko core
51
- gem "card-mod-platypus"
52
- <% end %>
53
-
54
- # The following allows simple (non-gem) mods to specify gems via a Gemfile.
55
- # You may need to alter this code if you move such mods to an unconventional location.
56
- Dir.glob("mod/**/Gemfile").each { |gemfile| instance_eval File.read(gemfile) }
@@ -1,6 +0,0 @@
1
- # Add your own tasks in files placed in lib/tasks ending in .rake,
2
- # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
-
4
- require File.expand_path("../config/application", __FILE__)
5
-
6
- <%= app_const %>.load_tasks
@@ -1,20 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- GEM_RE = /^GEM$.*?^ (?: )*spring \((.*?)\)$.*?^$/m
4
-
5
- # This file loads spring without using Bundler, in order to be fast
6
- # It gets overwritten when you run the `spring binstub` command
7
-
8
- unless defined?(Spring)
9
- require "rubygems"
10
- require "bundler"
11
-
12
- if (match = Bundler.default_lockfile.read.match GEM_RE)
13
- ENV["GEM_PATH"] = ([Bundler.bundle_path.to_s] + Gem.path).join(File::PATH_SEPARATOR)
14
- ENV["GEM_HOME"] = ""
15
- Gem.paths = ENV
16
-
17
- gem "spring", match[1]
18
- require "spring/binstub"
19
- end
20
- end
@@ -1,11 +0,0 @@
1
- # This file is used by Rack-based servers to start the application.
2
-
3
- require ::File.expand_path("../config/environment", __FILE__)
4
- <% if options["core-dev"] -%>
5
-
6
- if Rails.env.profile?
7
- use Rack::RubyProf, :path => "tmp/profile"
8
- end
9
-
10
- <% end -%>
11
- run <%= app_const %>
@@ -1,107 +0,0 @@
1
- require File.expand_path("../boot", __FILE__)
2
-
3
- require "decko/application"
4
-
5
- module <%= app_const_base %>
6
- class Application < Decko::Application
7
- config.performance_logger = nil
8
-
9
- # Decko inherits most Ruby-on-Rails configuration options.
10
- # See http://guides.rubyonrails.org/configuring.html
11
-
12
- # EMAIL
13
- # Email is not turned on by default. To turn it on, you need to change the
14
- # following to `true` and then add configuration specific to your site.
15
- # Learn more:
16
- # https://guides.rubyonrails.org/configuring.html#configuring-action-mailer
17
-
18
- config.action_mailer.perform_deliveries = false
19
- # config.action_mailer.delivery_method = ...
20
- # config.action_mailer.smtp_settings = ...
21
-
22
- # Example configuration for mailcatcher, a simple smtp server.
23
- # See http://mailcatcher.me for more information
24
- # config.action_mailer.delivery_method = :smtp
25
- # config.action_mailer.smtp_settings = { address: "localhost", port: 1025 }
26
-
27
-
28
- # BACKGROUND
29
- # Decko lets you run some card events (like follower notifications) in the
30
- # background. This is off by default but can be turned on by changing the
31
- # `delaying` setting to `true`
32
- config.active_job.queue_adapter = :delayed_job
33
- config.delaying = false
34
-
35
-
36
- # CACHING
37
- # config.cache_store = :file_store, "tmp/cache"
38
- # determines caching mechanism. options include: file_store, memory_store,
39
- # mem_cache_store...
40
- #
41
- # for production, we highly recommend memcache
42
- # here's a sample configuration for use with the dalli gem
43
- # config.cache_store = :mem_cache_store, []
44
-
45
-
46
- # FILES
47
- # config.paths["files"] = "files"
48
- # directory in which uploaded files are actually stored. (eg Image and File cards)
49
-
50
- # config.file_storage = :local
51
- # File storage options (see http://decko.org/file_storage_options)
52
- # options include: local, cloud, web, coded
53
- # defaults to local
54
- # For cloud storage use the following config options and add the corresponding fog gem
55
- # for your cloud service. For example for AWS add "fog-aws" to your Gemfile.
56
- # config.file_default_bucket = :my_bucket
57
- # config.file_buckets = {
58
- # my_bucket: {
59
- # directory: "bucket-name",
60
- # subdirectory: "files",
61
- # credentials: {
62
- # provider: "AWS", # required
63
- # aws_access_key_id: "key", # required
64
- # aws_secret_access_key: "secret-key", # required
65
- # use_iam_profile: true, # optional, defaults to false
66
- # region: "eu-central-1", # optional, defaults to "us-east-1"
67
- # host: "s3.example.com", # optional, defaults to nil
68
- # endpoint: "https://s3.example.com:8080" # optional, defaults to nil
69
- # },
70
- # attributes: { "Cache-Control" => "max-age=#{365.day.to_i}" },
71
- # public: true,
72
- # read_only: false, # if true then updating a file
73
- # # in that bucket will move it
74
- # # to the default storage location
75
- # authenticated_url_expiration: 180 # if public is set to false this
76
- # # option is needed
77
- # }
78
- # }
79
-
80
- # MISCELLANEOUS
81
- # config.read_only = true
82
- # defaults to false
83
- # disallows creating, updating, and deleting cards.
84
-
85
- # config.paths["mod"] << "my-mod-dir"
86
- # add a new directory for code customizations, or "mods"
87
-
88
- # config.allow_inline_styles = false
89
- # don't strip style attributes (not recommended)
90
-
91
- # config.override_host = "example.com"
92
- # overrides host auto-detected from web requests
93
-
94
- # config.override_protocol = "https"
95
- # overrides protocol auto-detected from web requests
96
- <% if platypus? %>
97
- config.file_buckets = {
98
- test_bucket: {
99
- provider: "AWS",
100
- aws_access_key_id: ENV["TEST_BUCKET_AWS_ACCESS_KEY_ID"],
101
- aws_secret_access_key: ENV["TEST_BUCKET_AWS_SECRET_ACCESS_KEY"],
102
- region: "us-east-1"
103
- }
104
- }
105
- <% end %>
106
- end
107
- end
@@ -1,11 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
-
3
- require "rubygems"
4
-
5
- # defaults to development mode without the following
6
- <%= "# " unless shark? %>ENV["RAILS_ENV"] ||= "production"
7
-
8
- # Set up gems listed in the Gemfile.
9
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("Gemfile")
10
-
11
- require "bundler/setup" if File.exist?(ENV["BUNDLE_GEMFILE"])
@@ -1 +0,0 @@
1
- default: '<%= features_path %>'
@@ -1,34 +0,0 @@
1
- # FrontBase versions 4.x
2
- #
3
- # Get the bindings:
4
- # gem install ruby-frontbase
5
- #
6
- # Configure Using Gemfile
7
- # gem 'ruby-frontbase'
8
- #
9
- development:
10
- adapter: frontbase
11
- host: localhost
12
- database: <%= app_name %>_development
13
- username: <%= app_name %>
14
- password: ''
15
-
16
- # Warning: The database defined as "test" will be erased and
17
- # re-generated from your development database when you run "rake".
18
- # Do not set this db to the same as development or production.
19
- test: &test
20
- adapter: frontbase
21
- host: localhost
22
- database: <%= app_name %>_test
23
- username: <%= app_name %>
24
- password: ''
25
-
26
- cucumber: *test
27
- cypress: *test
28
-
29
- production:
30
- adapter: frontbase
31
- host: localhost
32
- database: <%= app_name %>_production
33
- username: <%= app_name %>
34
- password: ''
@@ -1,89 +0,0 @@
1
- # IBM Dataservers
2
- #
3
- # Home Page
4
- # http://rubyforge.org/projects/rubyibm/
5
- #
6
- # To install the ibm_db gem:
7
- #
8
- # On Linux:
9
- # . /home/db2inst1/sqllib/db2profile
10
- # export IBM_DB_INCLUDE=/opt/ibm/db2/V9.7/include
11
- # export IBM_DB_LIB=/opt/ibm/db2/V9.7/lib32
12
- # gem install ibm_db
13
- #
14
- # On Mac OS X 10.5:
15
- # . /home/db2inst1/sqllib/db2profile
16
- # export IBM_DB_INCLUDE=/opt/ibm/db2/V9.7/include
17
- # export IBM_DB_LIB=/opt/ibm/db2/V9.7/lib32
18
- # export ARCHFLAGS="-arch i386"
19
- # gem install ibm_db
20
- #
21
- # On Mac OS X 10.6:
22
- # . /home/db2inst1/sqllib/db2profile
23
- # export IBM_DB_INCLUDE=/opt/ibm/db2/V9.7/include
24
- # export IBM_DB_LIB=/opt/ibm/db2/V9.7/lib64
25
- # export ARCHFLAGS="-arch x86_64"
26
- # gem install ibm_db
27
- #
28
- # On Windows:
29
- # Issue the command: gem install ibm_db
30
- #
31
- # Configure Using Gemfile
32
- # gem 'ibm_db'
33
- #
34
- # For more details on the installation and the connection parameters below,
35
- # please refer to the latest documents at http://rubyforge.org/docman/?group_id=2361
36
-
37
- development:
38
- adapter: ibm_db
39
- username: db2inst1
40
- password:
41
- database: <%= app_name[0,4] %>_dev
42
- #schema: db2inst1
43
- #host: localhost
44
- #port: 50000
45
- #account: my_account
46
- #app_user: my_app_user
47
- #application: my_application
48
- #workstation: my_workstation
49
- #security: SSL
50
- #timeout: 10
51
- #authentication: SERVER
52
- #parameterized: false
53
-
54
- test: &test
55
- adapter: ibm_db
56
- username: db2inst1
57
- password:
58
- database: <%= app_name[0,4] %>_tst
59
- #schema: db2inst1
60
- #host: localhost
61
- #port: 50000
62
- #account: my_account
63
- #app_user: my_app_user
64
- #application: my_application
65
- #workstation: my_workstation
66
- #security: SSL
67
- #timeout: 10
68
- #authentication: SERVER
69
- #parameterized: false
70
-
71
- cucumber: *test
72
- cypress: *test
73
-
74
- production:
75
- adapter: ibm_db
76
- username: db2inst1
77
- password:
78
- database: <%= app_name[0,8] %>
79
- #schema: db2inst1
80
- #host: localhost
81
- #port: 50000
82
- #account: my_account
83
- #app_user: my_app_user
84
- #application: my_application
85
- #workstation: my_workstation
86
- #security: SSL
87
- #timeout: 10
88
- #authentication: SERVER
89
- #parameterized: false
@@ -1,65 +0,0 @@
1
- # If you are using mssql, derby, hsqldb, or h2 with one of the
2
- # ActiveRecord JDBC adapters, install the appropriate driver, e.g.,:
3
- # gem install activerecord-jdbcmssql-adapter
4
- #
5
- # Configure using Gemfile:
6
- # gem 'activerecord-jdbcmssql-adapter'
7
- #
8
- #development:
9
- # adapter: mssql
10
- # username: <%= app_name %>
11
- # password:
12
- # host: localhost
13
- # database: <%= app_name %>_development
14
- #
15
- # Warning: The database defined as "test" will be erased and
16
- # re-generated from your development database when you run "rake".
17
- # Do not set this db to the same as development or production.
18
- #
19
- #test: &test
20
- # adapter: mssql
21
- # username: <%= app_name %>
22
- # password:
23
- # host: localhost
24
- # database: <%= app_name %>_test
25
- #
26
- #production:
27
- # adapter: mssql
28
- # username: <%= app_name %>
29
- # password:
30
- # host: localhost
31
- # database: <%= app_name %>_production
32
-
33
- # If you are using oracle, db2, sybase, informix or prefer to use the plain
34
- # JDBC adapter, configure your database setting as the example below (requires
35
- # you to download and manually install the database vendor's JDBC driver .jar
36
- # file). See your driver documentation for the apropriate driver class and
37
- # connection string:
38
-
39
- development:
40
- adapter: jdbc
41
- username: <%= app_name %>
42
- password:
43
- driver:
44
- url: jdbc:db://localhost/<%= app_name %>_development
45
-
46
- # Warning: The database defined as "test" will be erased and
47
- # re-generated from your development database when you run "rake".
48
- # Do not set this db to the same as development or production.
49
-
50
- test: &test
51
- adapter: jdbc
52
- username: <%= app_name %>
53
- password:
54
- driver:
55
- url: jdbc:db://localhost/<%= app_name %>_test
56
-
57
- cucumber: *test
58
- cypress: *test
59
-
60
- production:
61
- adapter: jdbc
62
- username: <%= app_name %>
63
- password:
64
- driver:
65
- url: jdbc:db://localhost/<%= app_name %>_production