rails_apps_composer 2.2.15 → 2.2.16

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,8 +18,10 @@ module RailsWizard
18
18
  @@recipes << %w(controllers email extras frontend gems git init models railsapps readme routes setup testing views)
19
19
  @@recipes << %w(controllers core email extras frontend gems git init models railsapps readme routes setup testing views)
20
20
  @@recipes << %w(controllers core email extras frontend gems git init models prelaunch railsapps readme routes setup testing views)
21
+ @@recipes << %w(controllers core email extras frontend gems git init models prelaunch railsapps readme routes saas setup testing views)
21
22
  @@recipes << %w(controllers email example extras frontend gems git init models railsapps readme routes setup testing views)
22
23
  @@recipes << %w(controllers email example extras frontend gems git init models prelaunch railsapps readme routes setup testing views)
24
+ @@recipes << %w(controllers email example extras frontend gems git init models prelaunch railsapps readme routes saas setup testing views)
23
25
 
24
26
  ### collections of preferences that are known to work together
25
27
 
@@ -37,6 +39,8 @@ module RailsWizard
37
39
  # :main_branch
38
40
 
39
41
  @@prefs = []
42
+ @@prefs << {:railsapps=>"rails-stripe-membership-saas", :database=>"sqlite", :unit_test=>"rspec", :integration=>"cucumber", :fixtures=>"factory_girl", :frontend=>"bootstrap", :bootstrap=>"sass", :email=>"gmail", :authentication=>"devise", :devise_modules=>"default", :authorization=>"cancan", :starter_app=>"admin_app", :form_builder=>"simple_form"}
43
+ @@prefs << {:railsapps=>"rails-stripe-membership-saas", :database=>"sqlite", :unit_test=>"rspec", :integration=>"cucumber", :fixtures=>"factory_girl", :frontend=>"bootstrap", :bootstrap=>"sass", :email=>"mandrill", :authentication=>"devise", :devise_modules=>"confirmable", :authorization=>"cancan", :starter_app=>"admin_app", :form_builder=>"simple_form"}
40
44
  @@prefs << {:railsapps=>"rails-prelaunch-signup", :database=>"sqlite", :unit_test=>"rspec", :integration=>"cucumber", :fixtures=>"factory_girl", :frontend=>"bootstrap", :bootstrap=>"sass", :email=>"mandrill", :authentication=>"devise", :devise_modules=>"confirmable", :authorization=>"cancan", :starter_app=>"admin_app", :form_builder=>"simple_form"}
41
45
  @@prefs << {:railsapps=>"rails3-bootstrap-devise-cancan", :database=>"sqlite", :unit_test=>"rspec", :integration=>"cucumber", :fixtures=>"factory_girl", :frontend=>"bootstrap", :bootstrap=>"sass", :email=>"gmail", :authentication=>"devise", :devise_modules=>"default", :authorization=>"cancan", :starter_app=>"admin_app", :form_builder=>"simple_form"}
42
46
  @@prefs << {:railsapps=>"rails3-devise-rspec-cucumber", :database=>"sqlite", :unit_test=>"rspec", :integration=>"cucumber", :fixtures=>"factory_girl", :frontend=>"none", :email=>"gmail", :authentication=>"devise", :devise_modules=>"default", :authorization=>"none", :starter_app=>"users_app", :form_builder=>"none"}
data/recipes/core.rb CHANGED
@@ -10,5 +10,5 @@ name: core
10
10
  description: "Select all core recipes."
11
11
  author: RailsApps
12
12
 
13
- requires: [git, railsapps, setup, readme, gems, testing, email, models, controllers, views, routes, frontend, init, prelaunch, extras]
13
+ requires: [git, railsapps, setup, readme, gems, testing, email, models, controllers, views, routes, frontend, init, prelaunch, saas, extras]
14
14
  category: collections
data/recipes/gems.rb CHANGED
@@ -35,7 +35,7 @@ if prefer :templates, 'haml'
35
35
  gem 'ruby_parser', '>= 2.3.1', :group => :development
36
36
  end
37
37
  if prefer :templates, 'slim'
38
- gem 'slim', '>= 1.3.2'
38
+ gem 'slim', '>= 1.3.3'
39
39
  gem 'haml2slim', '>= 0.4.6', :group => :development
40
40
  # Haml is needed for conversion of HTML to Slim
41
41
  gem 'haml', '>= 3.1.6', :group => :development
@@ -46,7 +46,7 @@ end
46
46
 
47
47
  ## Testing Framework
48
48
  if prefer :unit_test, 'rspec'
49
- gem 'rspec-rails', '>= 2.11.0', :group => [:development, :test]
49
+ gem 'rspec-rails', '>= 2.11.4', :group => [:development, :test]
50
50
  gem 'capybara', '>= 1.1.2', :group => :test if prefer :integration, 'rspec-capybara'
51
51
  if prefer :orm, 'mongoid'
52
52
  # use the database_cleaner gem to reset the test database
@@ -73,11 +73,11 @@ gem 'fabrication', '>= 2.3.0', :group => [:development, :test] if prefer :fixtur
73
73
  gem 'machinist', '>= 2.0', :group => :test if prefer :fixtures, 'machinist'
74
74
 
75
75
  ## Front-end Framework
76
- gem 'bootstrap-sass', '>= 2.1.0.0' if prefer :bootstrap, 'sass'
76
+ gem 'bootstrap-sass', '>= 2.1.0.1' if prefer :bootstrap, 'sass'
77
77
  gem 'compass-rails', '>= 1.0.3', :group => :assets if prefer :frontend, 'foundation'
78
78
  gem 'zurb-foundation', '>= 3.1.1', :group => :assets if prefer :frontend, 'foundation'
79
79
  if prefer :bootstrap, 'less'
80
- gem 'twitter-bootstrap-rails', '>= 2.1.3', :group => :assets
80
+ gem 'twitter-bootstrap-rails', '>= 2.1.4', :group => :assets
81
81
  # install gem 'therubyracer' to use Less
82
82
  gem 'therubyracer', '>= 0.10.2', :group => :assets, :platform => :ruby
83
83
  end
@@ -88,7 +88,7 @@ gem 'hominid', '>= 3.0.5' if prefer :email, 'mandrill'
88
88
 
89
89
  ## Authentication (Devise)
90
90
  gem 'devise', '>= 2.1.2' if prefer :authentication, 'devise'
91
- gem 'devise_invitable', '>= 1.0.3' if prefer :devise_modules, 'invitable'
91
+ gem 'devise_invitable', '>= 1.1.1' if prefer :devise_modules, 'invitable'
92
92
 
93
93
  ## Authentication (OmniAuth)
94
94
  gem 'omniauth', '>= 1.1.1' if prefer :authentication, 'omniauth'
@@ -108,6 +108,12 @@ end
108
108
  ## Form Builder
109
109
  gem 'simple_form', '>= 2.0.4' if prefer :form_builder, 'simple_form'
110
110
 
111
+ ## Membership App
112
+ if prefer :railsapps, 'rails-stripe-membership-saas'
113
+ gem 'stripe', '>= 1.7.4'
114
+ gem 'stripe_event', '>= 0.4.0'
115
+ end
116
+
111
117
  ## Signup App
112
118
  if prefer :railsapps, 'rails-prelaunch-signup'
113
119
  gem 'google_visualr', '>= 2.1.2'
data/recipes/railsapps.rb CHANGED
@@ -3,6 +3,8 @@
3
3
 
4
4
  prefs[:railsapps] = multiple_choice "Install an example application?",
5
5
  [["I want to build my own application", "none"],
6
+ ["rails-stripe-membership-saas", "rails-stripe-membership-saas"],
7
+ ["rails-prelaunch-signup", "rails-prelaunch-signup"],
6
8
  ["rails3-bootstrap-devise-cancan", "rails3-bootstrap-devise-cancan"],
7
9
  ["rails3-devise-rspec-cucumber", "rails3-devise-rspec-cucumber"],
8
10
  ["rails3-mongoid-devise", "rails3-mongoid-devise"],
@@ -10,6 +12,21 @@ prefs[:railsapps] = multiple_choice "Install an example application?",
10
12
  ["rails3-subdomains", "rails3-subdomains"]] unless prefs.has_key? :railsapps
11
13
 
12
14
  case prefs[:railsapps]
15
+ when 'rails-stripe-membership-saas'
16
+ prefs[:git] = true
17
+ prefs[:database] = 'sqlite'
18
+ prefs[:unit_test] = 'rspec'
19
+ prefs[:integration] = 'cucumber'
20
+ prefs[:fixtures] = 'factory_girl'
21
+ prefs[:frontend] = 'bootstrap'
22
+ prefs[:bootstrap] = 'sass'
23
+ prefs[:email] = 'gmail'
24
+ prefs[:authentication] = 'devise'
25
+ prefs[:devise_modules] = 'default'
26
+ prefs[:authorization] = 'cancan'
27
+ prefs[:starter_app] = 'admin_app'
28
+ prefs[:form_builder] = 'simple_form'
29
+ prefs[:quiet_assets] = true
13
30
  when 'rails-prelaunch-signup'
14
31
  prefs[:git] = true
15
32
  prefs[:database] = 'sqlite'
data/recipes/saas.rb ADDED
@@ -0,0 +1,97 @@
1
+ # Application template recipe for the rails_apps_composer. Change the recipe here:
2
+ # https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/saas.rb
3
+
4
+ if prefer :railsapps, 'rails-stripe-membership-saas'
5
+
6
+ after_everything do
7
+ say_wizard "recipe running after 'bundle install'"
8
+ repo = 'https://raw.github.com/RailsApps/rails-stripe-membership-saas/master/'
9
+
10
+ # >-------------------------------[ Clean up starter app ]--------------------------------<
11
+
12
+ %w{
13
+ public/index.html
14
+ app/assets/images/rails.png
15
+ }.each { |file| remove_file file }
16
+ # remove commented lines and multiple blank lines from Gemfile
17
+ # thanks to https://github.com/perfectline/template-bucket/blob/master/cleanup.rb
18
+ gsub_file 'Gemfile', /#.*\n/, "\n"
19
+ gsub_file 'Gemfile', /\n^\s*\n/, "\n"
20
+ # remove commented lines and multiple blank lines from config/routes.rb
21
+ gsub_file 'config/routes.rb', / #.*\n/, "\n"
22
+ gsub_file 'config/routes.rb', /\n^\s*\n/, "\n"
23
+ # GIT
24
+ git :add => '-A' if prefer :git, true
25
+ git :commit => '-qm "rails_apps_composer: clean up starter app"' if prefer :git, true
26
+
27
+ # >-------------------------------[ Cucumber ]--------------------------------<
28
+ say_wizard "copying Cucumber scenarios from the rails-stripe-membership-saas examples"
29
+ remove_file 'features/users/user_show.feature'
30
+ copy_from_repo 'features/users/sign_in.feature', :repo => repo
31
+ copy_from_repo 'features/users/sign_up.feature', :repo => repo
32
+ copy_from_repo 'features/step_definitions/user_steps.rb', :repo => repo
33
+ copy_from_repo 'config/locales/devise.en.yml', :repo => repo
34
+
35
+ # >-------------------------------[ Models ]--------------------------------<
36
+ copy_from_repo 'app/models/ability.rb', :repo => repo
37
+ copy_from_repo 'app/models/user.rb', :repo => repo
38
+
39
+ # >-------------------------------[ Init ]--------------------------------<
40
+ copy_from_repo 'db/seeds.rb', :repo => repo
41
+ copy_from_repo 'config/initializers/stripe.rb', :repo => repo
42
+
43
+ # >-------------------------------[ Migrations ]--------------------------------<
44
+ generate 'migration AddStripeToUsers customer_id:string last_4_digits:string'
45
+ run 'bundle exec rake db:drop'
46
+ run 'bundle exec rake db:migrate'
47
+ run 'bundle exec rake db:test:prepare'
48
+ run 'bundle exec rake db:seed'
49
+
50
+ # >-------------------------------[ Controllers ]--------------------------------<
51
+ copy_from_repo 'app/controllers/home_controller.rb', :repo => repo
52
+ generate 'controller content silver gold platinum --skip-stylesheets --skip-javascripts'
53
+ copy_from_repo 'app/controllers/content_controller.rb', :repo => repo
54
+ copy_from_repo 'app/controllers/registrations_controller.rb', :repo => repo
55
+ copy_from_repo 'app/controllers/application_controller.rb', :repo => repo
56
+
57
+ # >-------------------------------[ Mailers ]--------------------------------<
58
+ generate 'mailer UserMailer'
59
+ copy_from_repo 'spec/mailers/user_mailer_spec.rb', :repo => repo
60
+ copy_from_repo 'app/mailers/user_mailer.rb', :repo => repo
61
+
62
+ # >-------------------------------[ Views ]--------------------------------<
63
+ copy_from_repo 'app/views/home/index.html.erb', :repo => repo
64
+ copy_from_repo 'app/views/layouts/_navigation.html.erb', :repo => repo
65
+ copy_from_repo 'app/views/devise/registrations/new.html.erb', :repo => repo
66
+ copy_from_repo 'app/views/devise/registrations/edit.html.erb', :repo => repo
67
+ copy_from_repo 'app/views/user_mailer/expire_email.html.erb', :repo => repo
68
+ copy_from_repo 'app/views/user_mailer/expire_email.text.erb', :repo => repo
69
+
70
+ # >-------------------------------[ Routes ]--------------------------------<
71
+ copy_from_repo 'config/routes.rb', :repo => repo
72
+ ### CORRECT APPLICATION NAME ###
73
+ gsub_file 'config/routes.rb', /^.*.routes.draw do/, "#{app_const}.routes.draw do"
74
+
75
+ # >-------------------------------[ Assets ]--------------------------------<
76
+ copy_from_repo 'app/assets/javascripts/application.js', :repo => repo
77
+ copy_from_repo 'app/assets/javascripts/jquery.readyselector.js', :repo => repo
78
+ copy_from_repo 'app/assets/javascripts/jquery.externalscript.js', :repo => repo
79
+ copy_from_repo 'app/assets/javascripts/registrations.js.erb', :repo => repo
80
+ copy_from_repo 'app/assets/stylesheets/application.css.scss', :repo => repo
81
+ copy_from_repo 'app/assets/stylesheets/pricing.css.scss', :repo => repo
82
+
83
+ ### GIT ###
84
+ git :add => '-A' if prefer :git, true
85
+ git :commit => '-qm "rails_apps_composer: membership app"' if prefer :git, true
86
+ end # after_bundler
87
+ end # rails-stripe-membership-saas
88
+
89
+ __END__
90
+
91
+ name: prelaunch
92
+ description: "Install an example application for a membership site."
93
+ author: RailsApps
94
+
95
+ requires: [core]
96
+ run_after: [setup, gems, models, controllers, views, frontend, init]
97
+ category: apps
data/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RailsWizard
2
- VERSION = "2.2.15"
2
+ VERSION = "2.2.16"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_apps_composer
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.15
4
+ version: 2.2.16
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-12 00:00:00.000000000 Z
12
+ date: 2012-10-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: i18n
@@ -169,6 +169,7 @@ files:
169
169
  - recipes/railsapps.rb
170
170
  - recipes/readme.rb
171
171
  - recipes/routes.rb
172
+ - recipes/saas.rb
172
173
  - recipes/setup.rb
173
174
  - recipes/testing.rb
174
175
  - recipes/views.rb
@@ -201,7 +202,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
201
202
  version: '0'
202
203
  segments:
203
204
  - 0
204
- hash: -3522021324614826310
205
+ hash: 2773202915050764008
205
206
  required_rubygems_version: !ruby/object:Gem::Requirement
206
207
  none: false
207
208
  requirements:
@@ -210,7 +211,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
210
211
  version: '0'
211
212
  segments:
212
213
  - 0
213
- hash: -3522021324614826310
214
+ hash: 2773202915050764008
214
215
  requirements: []
215
216
  rubyforge_project: rails_apps_composer
216
217
  rubygems_version: 1.8.24