bently 0.1.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +6 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +3 -1
- data/LICENSE +7 -0
- data/README.md +38 -99
- data/bently.gemspec +3 -4
- data/bin/bently +1 -1
- data/lib/bently/base.rb +108 -0
- data/lib/bently/core_ext/string.rb +22 -24
- data/lib/bently/recipe/action-mailer.rb +8 -26
- data/lib/bently/recipe/cucumber-rails.rb +20 -0
- data/lib/bently/recipe/devise.rb +11 -13
- data/lib/bently/recipe/factory-girl-rails.rb +27 -24
- data/lib/bently/recipe/foreman-thin.rb +19 -0
- data/lib/bently/recipe/foreman.rb +17 -0
- data/lib/bently/recipe/gitignore-emacs.rb +30 -0
- data/lib/bently/recipe/gitignore-linux.rb +21 -0
- data/lib/bently/recipe/gitignore-osx.rb +30 -0
- data/lib/bently/recipe/gitignore-rails.rb +22 -38
- data/lib/bently/recipe/gitignore-ruby.rb +36 -0
- data/lib/bently/recipe/gitignore-rubymine.rb +19 -0
- data/lib/bently/recipe/gitignore-sass.rb +21 -0
- data/lib/bently/recipe/gitignore-sublime-text.rb +21 -0
- data/lib/bently/recipe/gitignore-textmate.rb +21 -0
- data/lib/bently/recipe/gitignore-vim.rb +23 -0
- data/lib/bently/recipe/gitignore-windows.rb +27 -0
- data/lib/bently/recipe/guard-livereload.rb +10 -4
- data/lib/bently/recipe/guard.rb +10 -6
- data/lib/bently/recipe/haml-rails.rb +10 -5
- data/lib/bently/recipe/heroku-cleardb.rb +25 -0
- data/lib/bently/recipe/heroku-rails.rb +23 -0
- data/lib/bently/recipe/heroku-sendgrid.rb +6 -12
- data/lib/bently/recipe/omniauth-facebook.rb +23 -0
- data/lib/bently/recipe/omniauth.rb +44 -0
- data/lib/bently/recipe/resque-rails.rb +20 -0
- data/lib/bently/recipe/rspec-rails.rb +11 -15
- data/lib/bently/recipe/rvmrc.rb +2 -9
- data/lib/bently/recipe/twitter-bootstrap-rails.rb +13 -5
- data/lib/bently/recipe.rb +90 -43
- data/lib/bently/recipe_class/rails.rb +10 -0
- data/lib/bently/recipe_class/ruby.rb +62 -0
- data/lib/bently/recipebook.rb +21 -0
- data/lib/bently/version.rb +1 -1
- data/lib/bently.rb +10 -6
- data/spec/bently/base_spec.rb +151 -0
- metadata +31 -18
- data/lib/bently/clo.rb +0 -33
- data/lib/bently/himself.rb +0 -105
- data/lib/bently/recipe/gitignore.rb +0 -23
- data/lib/bently/recipe/heroku-create.rb +0 -27
- data/lib/bently/recipe/heroku-procfile.rb +0 -14
- data/lib/bently/recipe/heroku-resque.rb +0 -79
- data/lib/bently/recipe/resque.rb +0 -10
- data/lib/bently/recipe/welcome-index.rb +0 -10
- data/lib/bently/recipe_book.rb +0 -15
- data/lib/bently/recipe_template/rails.rb +0 -13
- data/lib/bently/step.rb +0 -93
- data/spec/bently/himself_spec.rb +0 -175
@@ -0,0 +1,30 @@
|
|
1
|
+
module Bently
|
2
|
+
|
3
|
+
class GitignoreOsx < Recipe
|
4
|
+
|
5
|
+
homepage 'https://github.com/github/gitignore/blob/master/Global/OSX.gitignore'
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
append '.gitignore', gitignore
|
9
|
+
end
|
10
|
+
|
11
|
+
protected
|
12
|
+
|
13
|
+
def gitignore
|
14
|
+
%{.DS_Store
|
15
|
+
.AppleDouble
|
16
|
+
.LSOverride
|
17
|
+
Icon
|
18
|
+
|
19
|
+
|
20
|
+
# Thumbnails
|
21
|
+
._*
|
22
|
+
|
23
|
+
# Files that might appear on external disk
|
24
|
+
.Spotlight-V100
|
25
|
+
.Trashes}
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
@@ -2,49 +2,33 @@ module Bently
|
|
2
2
|
|
3
3
|
class GitignoreRails < Recipe
|
4
4
|
|
5
|
-
|
5
|
+
homepage 'https://github.com/github/gitignore/blob/master/Rails.gitignore'
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
def touch_gitignore
|
10
|
-
touch :file => '.gitignore', :with => gitignore
|
7
|
+
def initialize
|
8
|
+
append '.gitignore', gitignore
|
11
9
|
end
|
12
10
|
|
13
|
-
|
14
|
-
%{
|
15
|
-
# Configuration files
|
16
|
-
config/initializers/secret_token.rb
|
17
|
-
config/database.yml
|
18
|
-
|
19
|
-
# Generated files
|
20
|
-
log/*
|
21
|
-
coverage/*
|
11
|
+
protected
|
22
12
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
public/assets/*
|
30
|
-
tmp/**/*
|
31
|
-
tmp/*
|
32
|
-
*.sqlite3
|
33
|
-
.env
|
34
|
-
|
35
|
-
# Temporary files of every sort
|
36
|
-
.sass-cache/*
|
37
|
-
.DS_Store
|
38
|
-
.idea
|
13
|
+
def gitignore
|
14
|
+
%{*.rbc
|
15
|
+
*.sassc
|
16
|
+
.sass-cache
|
17
|
+
capybara-*.html
|
18
|
+
.rspec
|
39
19
|
.rvmrc
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
20
|
+
/.bundle
|
21
|
+
/vendor/bundle
|
22
|
+
/log/*
|
23
|
+
/tmp/*
|
24
|
+
/db/*.sqlite3
|
25
|
+
/public/system/*
|
26
|
+
/coverage/
|
27
|
+
/spec/tmp/*
|
28
|
+
**.orig
|
29
|
+
rerun.txt
|
30
|
+
pickle-email-*.html
|
31
|
+
.project}
|
48
32
|
end
|
49
33
|
|
50
34
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Bently
|
2
|
+
|
3
|
+
class GitignoreRuby < Recipe
|
4
|
+
|
5
|
+
homepage 'https://github.com/github/gitignore/blob/master/Ruby.gitignore'
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
append '.gitignore', gitignore
|
9
|
+
end
|
10
|
+
|
11
|
+
protected
|
12
|
+
|
13
|
+
def gitignore
|
14
|
+
%{*.gem
|
15
|
+
*.rbc
|
16
|
+
.bundle
|
17
|
+
.config
|
18
|
+
coverage
|
19
|
+
InstalledFiles
|
20
|
+
lib/bundler/man
|
21
|
+
pkg
|
22
|
+
rdoc
|
23
|
+
spec/reports
|
24
|
+
test/tmp
|
25
|
+
test/version_tmp
|
26
|
+
tmp
|
27
|
+
|
28
|
+
# YARD artifacts
|
29
|
+
# .yardoc
|
30
|
+
# _yardoc
|
31
|
+
# doc/}
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Bently
|
2
|
+
|
3
|
+
class GitignoreRubymine < Recipe
|
4
|
+
|
5
|
+
homepage 'https://github.com/github/gitignore/blob/master/Global/RubyMine.gitignore'
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
append '.gitignore', gitignore
|
9
|
+
end
|
10
|
+
|
11
|
+
protected
|
12
|
+
|
13
|
+
def gitignore
|
14
|
+
%{.idea/workspace.xml}
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Bently
|
2
|
+
|
3
|
+
class GitignoreSass < Recipe
|
4
|
+
|
5
|
+
homepage 'https://github.com/github/gitignore/blob/master/Global/SASS.gitignore'
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
append '.gitignore', gitignore
|
9
|
+
end
|
10
|
+
|
11
|
+
protected
|
12
|
+
|
13
|
+
def gitignore
|
14
|
+
%{### SASS Ignores - "Sassy CSS" http://sass-lang.com/
|
15
|
+
*.sass-cache
|
16
|
+
}
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Bently
|
2
|
+
|
3
|
+
class GitignoreSublimeText < Recipe
|
4
|
+
|
5
|
+
homepage 'https://github.com/github/gitignore/blob/master/Global/SublimeText.gitignore'
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
append '.gitignore', gitignore
|
9
|
+
end
|
10
|
+
|
11
|
+
protected
|
12
|
+
|
13
|
+
def gitignore
|
14
|
+
%{# SublimeText project files
|
15
|
+
*.sublime-workspace}
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Bently
|
2
|
+
|
3
|
+
class GitignoreTextmate < Recipe
|
4
|
+
|
5
|
+
homepage 'https://github.com/github/gitignore/blob/master/Global/TextMate.gitignore'
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
append '.gitignore', gitignore
|
9
|
+
end
|
10
|
+
|
11
|
+
protected
|
12
|
+
|
13
|
+
def gitignore
|
14
|
+
%{*.tmproj
|
15
|
+
*.tmproject
|
16
|
+
tmtags}
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Bently
|
2
|
+
|
3
|
+
class GitignoreVim < Recipe
|
4
|
+
|
5
|
+
homepage 'https://github.com/github/gitignore/blob/master/Global/vim.gitignore'
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
append '.gitignore', gitignore
|
9
|
+
end
|
10
|
+
|
11
|
+
protected
|
12
|
+
|
13
|
+
def gitignore
|
14
|
+
%{.*.s[a-w][a-z]
|
15
|
+
*.un~
|
16
|
+
Session.vim
|
17
|
+
.netrwhist
|
18
|
+
*~}
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Bently
|
2
|
+
|
3
|
+
class GitignoreWindows < Recipe
|
4
|
+
|
5
|
+
homepage 'https://github.com/github/gitignore/blob/master/Global/Windows.gitignore'
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
append '.gitignore', gitignore
|
9
|
+
end
|
10
|
+
|
11
|
+
protected
|
12
|
+
|
13
|
+
def gitignore
|
14
|
+
%{# Windows image file caches
|
15
|
+
Thumbs.db
|
16
|
+
ehthumbs.db
|
17
|
+
|
18
|
+
# Folder config file
|
19
|
+
Desktop.ini
|
20
|
+
|
21
|
+
# Recycle Bin used on file shares
|
22
|
+
$RECYCLE.BIN/}
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
@@ -1,10 +1,16 @@
|
|
1
1
|
module Bently
|
2
2
|
|
3
3
|
class GuardLivereload < RailsRecipe
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
|
5
|
+
homepage 'https://github.com/guard/guard-livereload/blob/master/README.md'
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
gem_group :development do
|
9
|
+
gem 'guard-livereload'
|
10
|
+
end
|
11
|
+
bundle
|
12
|
+
run 'guard init livereload'
|
13
|
+
end
|
8
14
|
|
9
15
|
end
|
10
16
|
|
data/lib/bently/recipe/guard.rb
CHANGED
@@ -1,11 +1,15 @@
|
|
1
1
|
module Bently
|
2
|
-
|
3
2
|
class Guard < RailsRecipe
|
4
|
-
|
5
|
-
step :add_gem, "gem 'guard', :group => :development"
|
6
|
-
step :shell, 'bundle install'
|
7
|
-
step :shell, 'guard init'
|
8
3
|
|
9
|
-
|
4
|
+
homepage 'https://github.com/guard/guard/blob/master/README.md'
|
10
5
|
|
6
|
+
def initialize
|
7
|
+
gem_group :development do
|
8
|
+
gem 'guard'
|
9
|
+
end
|
10
|
+
bundle
|
11
|
+
run 'guard init'
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
11
15
|
end
|
@@ -1,11 +1,16 @@
|
|
1
1
|
module Bently
|
2
|
-
|
3
2
|
class HamlRails < RailsRecipe
|
4
3
|
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
name 'haml-rails'
|
5
|
+
category 'gem'
|
6
|
+
description 'downloads and installs haml Ruby gem with haml-rails Ruby gem'
|
7
|
+
homepage 'https://github.com/haml/haml/blob/master/README.md'
|
8
8
|
|
9
|
-
|
9
|
+
def initialize
|
10
|
+
gem 'haml'
|
11
|
+
gem 'haml-rails'
|
12
|
+
bundle
|
13
|
+
end
|
10
14
|
|
15
|
+
end
|
11
16
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Bently
|
2
|
+
|
3
|
+
class HerokuCleardb < RailsRecipe
|
4
|
+
|
5
|
+
homepage 'https://devcenter.heroku.com/articles/cleardb#the-short-tutorial-for-ruby-on-rails-apps'
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
warn 'heroku commands may incur charges to your account'.upcase
|
9
|
+
modify 'Gemfile', /gem 'sqlite3'/, ""
|
10
|
+
gem 'mysql2'
|
11
|
+
bundle
|
12
|
+
|
13
|
+
run 'heroku addons:add cleardb:ignite'
|
14
|
+
|
15
|
+
todo 'Retrieve your database URL by issuing the following command:'
|
16
|
+
todo 'heroku config | grep CLEARDB_DATABASE_URL'
|
17
|
+
todo 'Copy the value of the CLEARDB_DATABASE_URL config variable to DATABASE_URL (using mysql2:// instead of mysql://):'
|
18
|
+
todo "heroku config:add DATABASE_URL='mysql2://...'"
|
19
|
+
todo 'Add and commit Gemfile, Gemfile.lock'
|
20
|
+
todo 'heroku run rake db:migrate'
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Bently
|
2
|
+
|
3
|
+
class HerokuRails < RailsRecipe
|
4
|
+
|
5
|
+
homepage 'https://devcenter.heroku.com/articles/rails3'
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
warn 'heroku commands may incur charges to your account'.upcase
|
9
|
+
modify 'Gemfile', /gem 'sqlite3'/, ""
|
10
|
+
gem 'pg'
|
11
|
+
bundle
|
12
|
+
|
13
|
+
run 'git add Gemfile Gemfile.lock'
|
14
|
+
run 'git commit -m "postgres gem"'
|
15
|
+
|
16
|
+
run 'heroku create'
|
17
|
+
run 'git push heroku master'
|
18
|
+
run 'heroku run rake db:migrate'
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -2,21 +2,15 @@ module Bently
|
|
2
2
|
|
3
3
|
class HerokuSendgrid < RailsRecipe
|
4
4
|
|
5
|
-
|
6
|
-
step :touch_mail_initializer
|
5
|
+
homepage 'https://devcenter.heroku.com/articles/sendgrid#ruby-rails'
|
7
6
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
7
|
+
def initialize
|
8
|
+
warn 'heroku commands may incur charges to your account'.upcase
|
9
|
+
run 'heroku addons:add sendgrid:starter'
|
10
|
+
create './config/initializers/mail.rb', mail_initializer
|
12
11
|
end
|
13
12
|
|
14
|
-
|
15
|
-
touch(
|
16
|
-
:file => "./config/initializers/mail.rb",
|
17
|
-
:with => mail_initializer
|
18
|
-
)
|
19
|
-
end
|
13
|
+
protected
|
20
14
|
|
21
15
|
def mail_initializer
|
22
16
|
%{
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Bently
|
2
|
+
|
3
|
+
class OmniauthFacebook < RailsRecipe
|
4
|
+
|
5
|
+
homepage 'https://github.com/mkdynamic/omniauth-facebook/blob/master/README.md'
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
requirement 'omniauth'
|
9
|
+
gem 'omniauth-facebook'
|
10
|
+
bundle
|
11
|
+
insert './config/initializers/omniauth.rb', omniauth_initializer, :after => "Rails.application.config.middleware.use OmniAuth::Builder do\n"
|
12
|
+
end
|
13
|
+
|
14
|
+
protected
|
15
|
+
|
16
|
+
def omniauth_initializer
|
17
|
+
%{provider :facebook, ENV['FACEBOOK_KEY'], ENV['FACEBOOK_SECRET']
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module Bently
|
2
|
+
|
3
|
+
class Omniauth < RailsRecipe
|
4
|
+
|
5
|
+
homepage 'https://github.com/intridea/omniauth/blob/master/README.md'
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
gem 'omniauth'
|
9
|
+
bundle
|
10
|
+
create './config/initializers/omniauth.rb', omniauth_initializer
|
11
|
+
insert 'config/routes.rb', " match '/auth/:provider/callback', to: 'sessions#create'\n", :after => "Application.routes.draw do\n"
|
12
|
+
create './app/controllers/sessions_controller.rb', sessions_controller
|
13
|
+
todo 'implement User#find_or_create_from_auth_hash'
|
14
|
+
end
|
15
|
+
|
16
|
+
protected
|
17
|
+
|
18
|
+
def omniauth_initializer
|
19
|
+
%{Rails.application.config.middleware.use OmniAuth::Builder do
|
20
|
+
provider :developer unless Rails.env.production?
|
21
|
+
#provider :facebook, ENV['FACEBOOK_KEY'], ENV['FACEBOOK_SECRET']
|
22
|
+
#provider :twitter, ENV['TWITTER_KEY'], ENV['TWITTER_SECRET']
|
23
|
+
end}
|
24
|
+
end
|
25
|
+
|
26
|
+
def sessions_controller
|
27
|
+
%{class SessionsController < ApplicationController
|
28
|
+
def create
|
29
|
+
@user = User.find_or_create_from_auth_hash(auth_hash)
|
30
|
+
self.current_user = @user
|
31
|
+
redirect_to '/'
|
32
|
+
end
|
33
|
+
|
34
|
+
protected
|
35
|
+
|
36
|
+
def auth_hash
|
37
|
+
request.env['omniauth.auth']
|
38
|
+
end
|
39
|
+
end}
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Bently
|
2
|
+
|
3
|
+
class ResqueRails < RailsRecipe
|
4
|
+
|
5
|
+
homepage 'https://github.com/defunkt/resque/blob/master/README.md'
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
requirement "redis (OS X: \`brew install redis\`, \`redis-server /usr/local/etc/redis.conf\`)"
|
9
|
+
gem 'resque'
|
10
|
+
bundle
|
11
|
+
create 'lib/tasks/resque.rake', "require 'resque/tasks'"
|
12
|
+
todo 'redis-server'
|
13
|
+
todo "If you want to use the front end, add to config/routes.rb:"
|
14
|
+
say "require 'resque/server'", ''
|
15
|
+
say ' mount Resque::Server, :at => "/resque"', ''
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -1,23 +1,19 @@
|
|
1
1
|
module Bently
|
2
|
-
|
3
2
|
class RspecRails < RailsRecipe
|
4
3
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
name 'rspec-rails'
|
5
|
+
category 'gem'
|
6
|
+
description 'downloads and installs rspec-rails gem'
|
7
|
+
homepage 'https://github.com/rspec/rspec-rails/blob/master/README.md'
|
8
|
+
version '2.0'
|
10
9
|
|
11
|
-
def
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
gem "rspec-rails", "~> 2.0"
|
18
|
-
end}
|
10
|
+
def initialize
|
11
|
+
gem_group :test, :development do
|
12
|
+
gem "rspec-rails", "~> 2.0"
|
13
|
+
end
|
14
|
+
bundle
|
15
|
+
generate 'rspec:install'
|
19
16
|
end
|
20
17
|
|
21
18
|
end
|
22
|
-
|
23
19
|
end
|
data/lib/bently/recipe/rvmrc.rb
CHANGED
@@ -1,16 +1,9 @@
|
|
1
1
|
module Bently
|
2
2
|
|
3
3
|
class Rvmrc < Recipe
|
4
|
-
|
5
|
-
step :touch_rvmrc
|
6
4
|
|
7
|
-
def
|
8
|
-
|
9
|
-
shell(
|
10
|
-
lambda{|gemset| "echo \"rvm use --create #{ruby_version}@#{gemset}\" > .rvmrc" },
|
11
|
-
:ask => "Enter a gemset name:",
|
12
|
-
:description => "Touch .rvmrc:\nrvm use --create #{ruby_version}@<gemset>"
|
13
|
-
)
|
5
|
+
def initialize
|
6
|
+
run "echo \"rvm use --create 1.9.3@gemsetname\" > .rvmrc"
|
14
7
|
end
|
15
8
|
|
16
9
|
end
|
@@ -1,11 +1,19 @@
|
|
1
1
|
module Bently
|
2
|
-
|
3
2
|
class TwitterBootstrapRails < RailsRecipe
|
4
3
|
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
name 'twitter-bootstrap-rails'
|
5
|
+
category 'gem'
|
6
|
+
description 'downloads and installs twitter-bootstrap-rails gem'
|
7
|
+
homepage 'https://github.com/seyhunak/twitter-bootstrap-rails/blob/master/README.md'
|
8
|
+
version '2.2.0'
|
8
9
|
|
9
|
-
|
10
|
+
def initialize
|
11
|
+
gem 'therubyracer'
|
12
|
+
gem 'less-rails'
|
13
|
+
gem 'twitter-bootstrap-rails', '~> 2.2.0'
|
14
|
+
bundle
|
15
|
+
generate 'bootstrap:install less'
|
16
|
+
end
|
10
17
|
|
18
|
+
end
|
11
19
|
end
|