decko 0.11.7 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
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