hoboken 0.0.1 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.github/dependabot.yml +7 -0
- data/.github/workflows/ruby.yml +28 -0
- data/.rubocop.yml +33 -0
- data/.ruby-version +1 -0
- data/Gemfile +2 -0
- data/IDEAS.md +57 -0
- data/LICENSE.txt +1 -1
- data/README.md +21 -10
- data/Rakefile +14 -6
- data/bin/hoboken +2 -1
- data/hoboken.gemspec +53 -16
- data/lib/hoboken.rb +110 -23
- data/lib/hoboken/actions.rb +10 -6
- data/lib/hoboken/add_ons/github_action.rb +14 -0
- data/lib/hoboken/add_ons/heroku.rb +8 -23
- data/lib/hoboken/add_ons/internationalization.rb +10 -6
- data/lib/hoboken/add_ons/metrics.rb +39 -14
- data/lib/hoboken/add_ons/omniauth.rb +114 -47
- data/lib/hoboken/add_ons/rubocop.rb +40 -0
- data/lib/hoboken/add_ons/sequel.rb +76 -47
- data/lib/hoboken/add_ons/sprockets.rb +67 -65
- data/lib/hoboken/add_ons/travis.rb +6 -2
- data/lib/hoboken/add_ons/twbs.rb +80 -0
- data/lib/hoboken/generate.rb +112 -38
- data/lib/hoboken/templates/Gemfile.erb.tt +33 -10
- data/lib/hoboken/templates/README.md.tt +105 -35
- data/lib/hoboken/templates/Rakefile.tt +10 -22
- data/lib/hoboken/templates/classic.rb.tt +35 -8
- data/lib/hoboken/templates/config.ru.tt +5 -3
- data/lib/hoboken/templates/console.sh +5 -0
- data/lib/hoboken/templates/db.rb.tt +24 -0
- data/lib/hoboken/templates/github_action.tt +28 -0
- data/lib/hoboken/templates/gitignore +8 -1
- data/lib/hoboken/templates/metrics.rake.tt +10 -9
- data/lib/hoboken/templates/modular.rb.tt +40 -11
- data/lib/hoboken/templates/puma.rb.tt +21 -0
- data/lib/hoboken/templates/rspec.rake.tt +5 -0
- data/lib/hoboken/templates/rubocop.yml.tt +31 -0
- data/lib/hoboken/templates/sequel.rake +6 -4
- data/lib/hoboken/templates/server.sh +12 -0
- data/lib/hoboken/templates/setup.sh +7 -0
- data/lib/hoboken/templates/spec/app_spec.rb.tt +15 -0
- data/lib/hoboken/templates/spec/rack_matchers.rb.tt +56 -0
- data/lib/hoboken/templates/spec/spec_helper.rb.tt +41 -0
- data/lib/hoboken/templates/sprockets.rake +13 -7
- data/lib/hoboken/templates/sprockets_chain.rb +7 -3
- data/lib/hoboken/templates/sprockets_helper.rb +14 -10
- data/lib/hoboken/templates/support/rack_helpers.rb.tt +55 -0
- data/lib/hoboken/templates/support/rack_test_assertions.rb.tt +111 -0
- data/lib/hoboken/templates/test/test_helper.rb.tt +38 -27
- data/lib/hoboken/templates/test/unit/app_test.rb.tt +11 -3
- data/lib/hoboken/templates/test_unit.rake.tt +18 -0
- data/lib/hoboken/templates/views/index.erb.tt +10 -3
- data/lib/hoboken/templates/views/layout.erb.tt +4 -1
- data/lib/hoboken/version.rb +3 -1
- data/test/fixtures/Gemfile +3 -3
- data/test/fixtures/Gemfile.pristine +3 -2
- data/test/integration/add_on_test.rb +399 -136
- data/test/integration/generate_test.rb +170 -38
- data/test/test_helper.rb +54 -23
- data/test/unit/hoboken_actions_test.rb +70 -61
- metadata +441 -16
- data/.travis.yml +0 -5
- data/lib/hoboken/templates/test/support/rack_test_assertions.rb.tt +0 -92
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d42754fed3189d3de171e54745f49f492b0ff0581aafa53493f0d7f15efbb8b0
|
4
|
+
data.tar.gz: 1cd847b097a929db83a36932d959b2b8d0d94273b408231f06f47c6ae6c6e13d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 501df84e547ff6ace6e5b987f8f8723f349767647b9fdb532a949b6c8fe65b72502b349309948f7a8a92d09c9091c89b5f05745d288d363893c6fe5647930f4a
|
7
|
+
data.tar.gz: 168647168f6a62fdc1410d63994de32706710eff8017a91bedd31ce961ac6d2379d9494671d0d6154d1ff7a113140ec21b477eb809215bbed9b90e4b84366177
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
2
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
3
|
+
|
4
|
+
name: Ruby
|
5
|
+
|
6
|
+
on:
|
7
|
+
push:
|
8
|
+
pull_request:
|
9
|
+
schedule:
|
10
|
+
- cron: "0 4 * * *"
|
11
|
+
|
12
|
+
jobs:
|
13
|
+
test:
|
14
|
+
|
15
|
+
runs-on: ubuntu-latest
|
16
|
+
strategy:
|
17
|
+
matrix:
|
18
|
+
ruby-version: ['2.6', '2.7', '3.0']
|
19
|
+
|
20
|
+
steps:
|
21
|
+
- uses: actions/checkout@v2
|
22
|
+
- name: Set up Ruby
|
23
|
+
uses: ruby/setup-ruby@v1
|
24
|
+
with:
|
25
|
+
ruby-version: ${{ matrix.ruby-version }}
|
26
|
+
bundler-cache: true
|
27
|
+
- name: Run tests
|
28
|
+
run: bundle exec rake ci
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require:
|
2
|
+
- rubocop-rake
|
3
|
+
- rubocop-rspec # for generated projects
|
4
|
+
|
5
|
+
AllCops:
|
6
|
+
Exclude:
|
7
|
+
- 'test/tmp/*/sample/Gemfile'
|
8
|
+
- 'test/fixtures/**/*'
|
9
|
+
- 'vendor/bundle/**/*'
|
10
|
+
NewCops: enable
|
11
|
+
TargetRubyVersion: 2.6
|
12
|
+
|
13
|
+
Metrics/BlockLength:
|
14
|
+
IgnoredMethods:
|
15
|
+
- run_hoboken
|
16
|
+
|
17
|
+
Layout/SpaceAroundEqualsInParameterDefault:
|
18
|
+
EnforcedStyle: no_space
|
19
|
+
|
20
|
+
Metrics/ClassLength:
|
21
|
+
Max: 150
|
22
|
+
|
23
|
+
Metrics/MethodLength:
|
24
|
+
Max: 15
|
25
|
+
|
26
|
+
Layout/LineLength:
|
27
|
+
Max: 90
|
28
|
+
|
29
|
+
Style/BlockDelimiters:
|
30
|
+
EnforcedStyle: braces_for_chaining
|
31
|
+
|
32
|
+
Style/YodaCondition:
|
33
|
+
EnforcedStyle: require_for_equality_operators_only
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.7.3
|
data/Gemfile
CHANGED
data/IDEAS.md
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
# Project Ideas
|
2
|
+
|
3
|
+
## New Directory Structure
|
4
|
+
|
5
|
+
General idea is similar to Hexagonal or Ports and Adapters architecture. Web
|
6
|
+
and DB concerns depend on the application core, not the other way around.
|
7
|
+
|
8
|
+
/web -- depends on --> /db
|
9
|
+
/web -- depends on --> /lib
|
10
|
+
/db -- depends on --> /lib
|
11
|
+
/lib -- depends on --> nothing from from /web or /db
|
12
|
+
|
13
|
+
```
|
14
|
+
Gemfile
|
15
|
+
Gemfile.lock
|
16
|
+
README.md
|
17
|
+
Rakefile
|
18
|
+
config.ru
|
19
|
+
app.rb
|
20
|
+
db.rb
|
21
|
+
/config
|
22
|
+
db.rb
|
23
|
+
environment.rb
|
24
|
+
puma.rb
|
25
|
+
/db
|
26
|
+
/mappers
|
27
|
+
some_mapper.rb
|
28
|
+
/migrate
|
29
|
+
migration_001.rb
|
30
|
+
sequel_mapper.rb
|
31
|
+
/lib
|
32
|
+
<project_name>.rb
|
33
|
+
/<project_name>
|
34
|
+
... files
|
35
|
+
/helpers
|
36
|
+
some_helper.rb
|
37
|
+
/public
|
38
|
+
/css
|
39
|
+
styles.css
|
40
|
+
/img
|
41
|
+
favicon.png
|
42
|
+
hoboken.png
|
43
|
+
sinatra.png
|
44
|
+
/js
|
45
|
+
app.js
|
46
|
+
/views
|
47
|
+
index.erb
|
48
|
+
layout.erb
|
49
|
+
/test
|
50
|
+
test_helper.rb
|
51
|
+
/<project_name>
|
52
|
+
/db
|
53
|
+
some_mapper_test.rb
|
54
|
+
/support
|
55
|
+
rack_test_assertions.rb
|
56
|
+
app_test.rb
|
57
|
+
```
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# Hoboken
|
2
2
|
|
3
3
|
[![Gem Version](https://badge.fury.io/rb/hoboken.png)](http://badge.fury.io/rb/hoboken)
|
4
|
-
|
5
|
-
[![
|
4
|
+
![Build Status](https://github.com/bnadlerjr/hoboken/actions/workflows/ruby.yml/badge.svg)
|
5
|
+
[![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=bnadlerjr/hoboken)](https://dependabot.com)
|
6
6
|
|
7
|
-
|
7
|
+
Sinatra project generator and templates.
|
8
8
|
|
9
9
|
## Installation
|
10
10
|
|
11
|
-
$ gem install hoboken
|
11
|
+
$ gem install hoboken
|
12
12
|
|
13
13
|
## Usage
|
14
14
|
|
@@ -27,12 +27,14 @@ To see a list of options for the generate command:
|
|
27
27
|
hoboken generate [APP_NAME]
|
28
28
|
|
29
29
|
Options:
|
30
|
-
[--ruby-version=RUBY_VERSION]
|
31
|
-
|
32
|
-
[--
|
33
|
-
|
34
|
-
|
35
|
-
[--
|
30
|
+
[--ruby-version=RUBY_VERSION] # Ruby version for Gemfile
|
31
|
+
[--tiny], [--no-tiny] # Generate views inline; do not create /public folder
|
32
|
+
[--type=TYPE] # Architecture type (classic or modular)
|
33
|
+
# Default: classic
|
34
|
+
[--git], [--no-git] # Create a Git repository and make initial commit
|
35
|
+
[--api-only], [--no-api-only] # API only, no views, public folder, etc.
|
36
|
+
[--test-framework=TEST_FRAMEWORK] # Testing framework; can be either test-unit or rspec
|
37
|
+
# Default: test-unit
|
36
38
|
|
37
39
|
Generate a new Sinatra app
|
38
40
|
|
@@ -40,13 +42,20 @@ To see a list of options for the generate command:
|
|
40
42
|
|
41
43
|
Additional generators are available for existing projects generated using Hoboken:
|
42
44
|
|
45
|
+
$ hoboken add:github_action # Github action that runs CI task
|
43
46
|
$ hoboken add:heroku # Heroku deployment support
|
44
47
|
$ hoboken add:i18n # Internationalization support using sinatra-r18n
|
45
48
|
$ hoboken add:metrics # Add metrics (flog, flay, simplecov)
|
46
49
|
$ hoboken add:omniauth # OmniAuth authentication (allows you to select a provider)
|
50
|
+
$ hoboken add:rubocop # Basic Rubocop configuration and Rake task.
|
47
51
|
$ hoboken add:sequel # Database access via Sequel gem
|
48
52
|
$ hoboken add:sprockets # Rack-based asset packaging system
|
49
53
|
$ hoboken add:travis # Basic Travis-CI YAML config
|
54
|
+
$ hoboken add:twbs # Twitter Bootstrap (requires Sprockets add-on)
|
55
|
+
|
56
|
+
### Documentation
|
57
|
+
|
58
|
+
Visit the project [website](http://bobnadler.com/hoboken).
|
50
59
|
|
51
60
|
## Contributing
|
52
61
|
|
@@ -55,3 +64,5 @@ Additional generators are available for existing projects generated using Hoboke
|
|
55
64
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
56
65
|
4. Push to the branch (`git push origin my-new-feature`)
|
57
66
|
5. Create new Pull Request
|
67
|
+
|
68
|
+
If your contribution requires a change to the documentation, please also make a pull request to the [documentation project](https://github.com/bnadlerjr/hoboken-docs).
|
data/Rakefile
CHANGED
@@ -1,10 +1,18 @@
|
|
1
|
-
|
2
|
-
require "rake/testtask"
|
1
|
+
# frozen_string_literal: true
|
3
2
|
|
4
|
-
|
3
|
+
require 'bundler/gem_tasks'
|
4
|
+
require 'rake/testtask'
|
5
|
+
require 'rubocop/rake_task'
|
6
|
+
|
7
|
+
RuboCop::RakeTask.new
|
8
|
+
|
9
|
+
task default: 'test:all'
|
10
|
+
|
11
|
+
desc 'Run CI checks'
|
12
|
+
task ci: ['test:all', 'rubocop']
|
5
13
|
|
6
14
|
namespace :test do
|
7
|
-
types = %w
|
15
|
+
types = %w[unit integration]
|
8
16
|
|
9
17
|
types.each do |type|
|
10
18
|
Rake::TestTask.new(type.to_sym) do |t|
|
@@ -13,6 +21,6 @@ namespace :test do
|
|
13
21
|
end
|
14
22
|
end
|
15
23
|
|
16
|
-
desc
|
17
|
-
task :
|
24
|
+
desc 'Run all tests'
|
25
|
+
task all: types.map { |s| "test:#{s}" }
|
18
26
|
end
|
data/bin/hoboken
CHANGED
data/hoboken.gemspec
CHANGED
@@ -1,25 +1,62 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'English'
|
4
|
+
require_relative 'lib/hoboken/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
7
|
+
spec.name = 'hoboken'
|
8
8
|
spec.version = Hoboken::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
11
|
-
spec.description =
|
12
|
-
spec.summary =
|
13
|
-
spec.homepage =
|
14
|
-
spec.license =
|
9
|
+
spec.authors = ['Bob Nadler']
|
10
|
+
spec.email = ['bnadlerjr@gmail.com']
|
11
|
+
spec.description = 'Sinatra project generator.'
|
12
|
+
spec.summary = 'Sinatra project generator.'
|
13
|
+
spec.homepage = 'https://github.com/bnadlerjr/hoboken'
|
14
|
+
spec.license = 'MIT'
|
15
|
+
|
16
|
+
spec.required_ruby_version = '>= 2.6'
|
15
17
|
|
16
|
-
spec.files = `git ls-files`.split(
|
18
|
+
spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
17
19
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
20
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
-
spec.require_paths = [
|
21
|
+
spec.require_paths = ['lib']
|
22
|
+
|
23
|
+
spec.add_development_dependency 'bundler', '~> 2.2'
|
24
|
+
spec.add_development_dependency 'pry-byebug', '~> 3.9'
|
25
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
26
|
+
spec.add_development_dependency 'rubocop', '~> 1.12'
|
27
|
+
spec.add_development_dependency 'rubocop-rake', '~> 0.5'
|
28
|
+
spec.add_development_dependency 'test-unit', '~> 3.4'
|
29
|
+
spec.add_development_dependency 'warning', '~> 1.2'
|
20
30
|
|
21
|
-
|
22
|
-
|
31
|
+
# These dependencies are installed by the generated projects. Including them
|
32
|
+
# here so that:
|
33
|
+
#
|
34
|
+
# a) We can get Dependabot notifications for them
|
35
|
+
# b) We can run tests for generated projects
|
36
|
+
spec.add_development_dependency 'better_errors', '~> 2.9'
|
37
|
+
spec.add_development_dependency 'binding_of_caller', '~> 1.0'
|
38
|
+
spec.add_development_dependency 'bootstrap', '~> 5.0.0.beta3'
|
39
|
+
spec.add_development_dependency 'contest', '~> 0.1'
|
40
|
+
spec.add_development_dependency 'dotenv', '~> 2.7'
|
41
|
+
spec.add_development_dependency 'erubi', '~> 1.10'
|
42
|
+
spec.add_development_dependency 'omniauth-twitter', '~> 1.4'
|
43
|
+
spec.add_development_dependency 'puma', '~> 5.2'
|
44
|
+
spec.add_development_dependency 'rack_csrf', '~> 2.6'
|
45
|
+
spec.add_development_dependency 'racksh', '~> 1.0'
|
46
|
+
spec.add_development_dependency 'rack-test', '~> 1.1'
|
47
|
+
spec.add_development_dependency 'rb-fsevent', '~> 0.10'
|
48
|
+
spec.add_development_dependency 'rerun', '~> 0.13'
|
49
|
+
spec.add_development_dependency 'rspec', '~> 3.10'
|
50
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 2.2'
|
51
|
+
spec.add_development_dependency 'sassc', '~> 2.4'
|
52
|
+
spec.add_development_dependency 'sequel', '~> 5.43'
|
53
|
+
spec.add_development_dependency 'sinatra', '~> 2.1'
|
54
|
+
spec.add_development_dependency 'sinatra-contrib', '~> 2.1'
|
55
|
+
spec.add_development_dependency 'sinatra-flash', '~> 0.3'
|
56
|
+
spec.add_development_dependency 'sprockets', '~> 4.0'
|
57
|
+
spec.add_development_dependency 'sqlite3', '~> 1.4'
|
58
|
+
spec.add_development_dependency 'uglifier', '~> 4.2'
|
59
|
+
spec.add_development_dependency 'yui-compressor', '~> 0.12'
|
23
60
|
|
24
|
-
spec.add_dependency
|
61
|
+
spec.add_dependency 'thor', '~> 1.1'
|
25
62
|
end
|
data/lib/hoboken.rb
CHANGED
@@ -1,11 +1,19 @@
|
|
1
|
-
|
2
|
-
require "thor/util"
|
3
|
-
require "fileutils"
|
4
|
-
require_relative "hoboken/version"
|
5
|
-
require_relative "hoboken/generate"
|
6
|
-
require_relative "hoboken/actions"
|
1
|
+
# frozen_string_literal: true
|
7
2
|
|
3
|
+
require 'date'
|
4
|
+
require 'thor'
|
5
|
+
require 'thor/util'
|
6
|
+
require 'fileutils'
|
7
|
+
require_relative 'hoboken/version'
|
8
|
+
require_relative 'hoboken/generate'
|
9
|
+
require_relative 'hoboken/actions'
|
10
|
+
|
11
|
+
# Generate Sinatra project templates.
|
12
|
+
#
|
8
13
|
module Hoboken
|
14
|
+
# Custom `Thor::Group` that mixes in `Hoboken::Actions` so that they're
|
15
|
+
# available everywhere.
|
16
|
+
#
|
9
17
|
class Group < Thor::Group
|
10
18
|
include Thor::Actions
|
11
19
|
include Hoboken::Actions
|
@@ -13,31 +21,110 @@ module Hoboken
|
|
13
21
|
def self.source_root
|
14
22
|
File.dirname(__FILE__)
|
15
23
|
end
|
24
|
+
|
25
|
+
def classic?
|
26
|
+
File.read('app.rb').include?("require 'sinatra'")
|
27
|
+
end
|
28
|
+
|
29
|
+
def rspec?
|
30
|
+
Dir.exist?('spec')
|
31
|
+
end
|
16
32
|
end
|
17
33
|
|
18
|
-
require_relative
|
19
|
-
require_relative
|
20
|
-
require_relative
|
21
|
-
require_relative
|
22
|
-
require_relative
|
23
|
-
require_relative
|
24
|
-
require_relative
|
34
|
+
require_relative 'hoboken/add_ons/github_action'
|
35
|
+
require_relative 'hoboken/add_ons/heroku'
|
36
|
+
require_relative 'hoboken/add_ons/internationalization'
|
37
|
+
require_relative 'hoboken/add_ons/metrics'
|
38
|
+
require_relative 'hoboken/add_ons/omniauth'
|
39
|
+
require_relative 'hoboken/add_ons/rubocop'
|
40
|
+
require_relative 'hoboken/add_ons/sequel'
|
41
|
+
require_relative 'hoboken/add_ons/sprockets'
|
42
|
+
require_relative 'hoboken/add_ons/travis'
|
43
|
+
require_relative 'hoboken/add_ons/twbs'
|
25
44
|
|
45
|
+
# Hoboken's command-line interface.
|
46
|
+
#
|
26
47
|
class CLI < Thor
|
27
|
-
desc
|
48
|
+
desc 'version', 'Print version and quit'
|
28
49
|
def version
|
29
50
|
puts "Hoboken v#{Hoboken::VERSION}"
|
30
51
|
end
|
31
52
|
|
32
|
-
register(Generate,
|
33
|
-
tasks[
|
53
|
+
register(Generate, 'generate', 'generate [APP_NAME]', 'Generate a new Sinatra app')
|
54
|
+
tasks['generate'].options = Hoboken::Generate.class_options
|
55
|
+
|
56
|
+
register(
|
57
|
+
AddOns::Heroku,
|
58
|
+
'add:heroku',
|
59
|
+
'add:heroku',
|
60
|
+
'Heroku deployment support'
|
61
|
+
)
|
62
|
+
|
63
|
+
register(
|
64
|
+
AddOns::GithubAction,
|
65
|
+
'add:github_action',
|
66
|
+
'add:github_action',
|
67
|
+
'Github action that runs CI task'
|
68
|
+
)
|
69
|
+
|
70
|
+
register(
|
71
|
+
AddOns::Internationalization,
|
72
|
+
'add:i18n',
|
73
|
+
'add:i18n',
|
74
|
+
'Internationalization support using sinatra-r18n'
|
75
|
+
)
|
34
76
|
|
35
|
-
register(
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
77
|
+
register(
|
78
|
+
AddOns::Metrics,
|
79
|
+
'add:metrics',
|
80
|
+
'add:metrics',
|
81
|
+
'Add metrics (flog, flay, simplecov)'
|
82
|
+
)
|
83
|
+
|
84
|
+
register(
|
85
|
+
AddOns::OmniAuth,
|
86
|
+
'add:omniauth',
|
87
|
+
'add:omniauth',
|
88
|
+
'OmniAuth authentication (allows you to select a provider)'
|
89
|
+
)
|
90
|
+
|
91
|
+
register(
|
92
|
+
AddOns::Rubocop,
|
93
|
+
'add:rubocop',
|
94
|
+
'add:rubocop',
|
95
|
+
'Basic Rubocop configuration and Rake task.'
|
96
|
+
)
|
97
|
+
|
98
|
+
register(
|
99
|
+
AddOns::Sequel,
|
100
|
+
'add:sequel',
|
101
|
+
'add:sequel',
|
102
|
+
'Database access via Sequel gem'
|
103
|
+
)
|
104
|
+
|
105
|
+
register(
|
106
|
+
AddOns::Sprockets,
|
107
|
+
'add:sprockets',
|
108
|
+
'add:sprockets',
|
109
|
+
'Rack-based asset packaging system'
|
110
|
+
)
|
111
|
+
|
112
|
+
register(
|
113
|
+
AddOns::Travis,
|
114
|
+
'add:travis',
|
115
|
+
'add:travis',
|
116
|
+
'Basic Travis-CI YAML config'
|
117
|
+
)
|
118
|
+
|
119
|
+
register(
|
120
|
+
AddOns::TwitterBootstrap,
|
121
|
+
'add:twbs',
|
122
|
+
'add:twbs',
|
123
|
+
'Twitter Bootstrap (requires Sprockets add-on)'
|
124
|
+
)
|
125
|
+
|
126
|
+
def self.exit_on_failure?
|
127
|
+
true
|
128
|
+
end
|
42
129
|
end
|
43
130
|
end
|