redmint_composer 2.3

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 (57) hide show
  1. checksums.yaml +7 -0
  2. data/README.textile +10 -0
  3. data/bin/redmint_composer +7 -0
  4. data/lib/rails_wizard.rb +7 -0
  5. data/lib/rails_wizard/command.rb +204 -0
  6. data/lib/rails_wizard/config.rb +88 -0
  7. data/lib/rails_wizard/diagnostics.rb +58 -0
  8. data/lib/rails_wizard/recipe.rb +114 -0
  9. data/lib/rails_wizard/recipes.rb +56 -0
  10. data/lib/rails_wizard/template.rb +111 -0
  11. data/recipes/admin.rb +42 -0
  12. data/recipes/analytics.rb +41 -0
  13. data/recipes/core.rb +32 -0
  14. data/recipes/deployment.rb +178 -0
  15. data/recipes/devise.rb +34 -0
  16. data/recipes/email.rb +65 -0
  17. data/recipes/email_dev.rb +92 -0
  18. data/recipes/example.rb +63 -0
  19. data/recipes/extras.rb +283 -0
  20. data/recipes/frontend.rb +33 -0
  21. data/recipes/gems.rb +274 -0
  22. data/recipes/git.rb +27 -0
  23. data/recipes/init.rb +179 -0
  24. data/recipes/learn_rails.rb +89 -0
  25. data/recipes/locale.rb +31 -0
  26. data/recipes/omniauth.rb +38 -0
  27. data/recipes/pages.rb +91 -0
  28. data/recipes/rails_bootstrap.rb +29 -0
  29. data/recipes/rails_devise.rb +26 -0
  30. data/recipes/rails_devise_pundit.rb +25 -0
  31. data/recipes/rails_devise_roles.rb +25 -0
  32. data/recipes/rails_foundation.rb +29 -0
  33. data/recipes/rails_mailinglist_activejob.rb +76 -0
  34. data/recipes/rails_omniauth.rb +27 -0
  35. data/recipes/rails_signup_download.rb +69 -0
  36. data/recipes/rails_stripe_checkout.rb +84 -0
  37. data/recipes/rails_stripe_coupons.rb +125 -0
  38. data/recipes/rails_stripe_membership_saas.rb +112 -0
  39. data/recipes/railsapps.rb +77 -0
  40. data/recipes/readme.rb +161 -0
  41. data/recipes/roles.rb +40 -0
  42. data/recipes/setup.rb +162 -0
  43. data/recipes/tests.rb +59 -0
  44. data/spec/rails_wizard/config_spec.rb +108 -0
  45. data/spec/rails_wizard/recipe_spec.rb +115 -0
  46. data/spec/rails_wizard/recipes/sanity_spec.rb +30 -0
  47. data/spec/rails_wizard/recipes_spec.rb +41 -0
  48. data/spec/rails_wizard/template_spec.rb +92 -0
  49. data/spec/spec_helper.rb +11 -0
  50. data/spec/support/rails_directory.rb +17 -0
  51. data/spec/support/template_runner.rb +28 -0
  52. data/spec/test_recipes/test_recipe_in_file.rb +9 -0
  53. data/templates/helpers.erb +138 -0
  54. data/templates/layout.erb +231 -0
  55. data/templates/recipe.erb +13 -0
  56. data/version.rb +3 -0
  57. metadata +201 -0
@@ -0,0 +1,34 @@
1
+ # Application template recipe for the rails_apps_composer. Change the recipe here:
2
+ # https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/devise.rb
3
+
4
+ stage_two do
5
+ say_wizard "recipe stage two"
6
+ if prefer :authentication, 'devise'
7
+ # prevent logging of password_confirmation
8
+ gsub_file 'config/initializers/filter_parameter_logging.rb', /:password/, ':password, :password_confirmation'
9
+ generate 'devise:install'
10
+ generate 'devise_invitable:install' if prefer :devise_modules, 'invitable'
11
+ generate 'devise user' # create the User model
12
+ unless :apps4.to_s.include? 'rails-stripe-'
13
+ generate 'migration AddNameToUsers name:string'
14
+ end
15
+ if (prefer :devise_modules, 'confirmable') || (prefer :devise_modules, 'invitable')
16
+ gsub_file 'app/models/user.rb', /:registerable,/, ":registerable, :confirmable,"
17
+ generate 'migration AddConfirmableToUsers confirmation_token:string confirmed_at:datetime confirmation_sent_at:datetime unconfirmed_email:string'
18
+ end
19
+ run 'bundle exec rake db:migrate'
20
+ end
21
+ ### GIT ###
22
+ git :add => '-A' if prefer :git, true
23
+ git :commit => '-qm "redmint_composer: devise"' if prefer :git, true
24
+ end
25
+
26
+ __END__
27
+
28
+ name: devise
29
+ description: "Add Devise for authentication"
30
+ author: RailsApps
31
+
32
+ requires: [setup, gems]
33
+ run_after: [setup, gems]
34
+ category: mvc
@@ -0,0 +1,65 @@
1
+ # Application template recipe for the rails_apps_composer. Change the recipe here:
2
+ # https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/email.rb
3
+
4
+ stage_two do
5
+ say_wizard "recipe stage two"
6
+ unless prefer :email, 'none'
7
+ ## ACTIONMAILER CONFIG
8
+ dev_email_text = <<-TEXT
9
+ # ActionMailer Config
10
+ config.action_mailer.default_url_options = { :host => 'localhost:3000' }
11
+ config.action_mailer.delivery_method = :letter_opener
12
+ config.action_mailer.raise_delivery_errors = true
13
+ # Send email in development mode?
14
+ config.action_mailer.perform_deliveries = true
15
+ TEXT
16
+ prod_email_text = <<-TEXT
17
+ # ActionMailer Config
18
+ config.action_mailer.default_url_options = { :host => 'redmintlabs.com' }
19
+ config.action_mailer.delivery_method = :smtp
20
+ config.action_mailer.perform_deliveries = true
21
+ config.action_mailer.raise_delivery_errors = false
22
+ TEXT
23
+ inject_into_file 'config/environments/development.rb', dev_email_text, :after => "config.assets.debug = true"
24
+ inject_into_file 'config/environments/production.rb', prod_email_text, :after => "config.active_support.deprecation = :notify"
25
+ gsub_file 'config/environments/production.rb', /'redmintlabs.com'/, 'Rails.application.secrets.domain_name'
26
+ ## SMTP_SETTINGS
27
+ email_configuration_text = <<-TEXT
28
+ \n
29
+ config.action_mailer.smtp_settings = {
30
+ address: "smtp.gmail.com",
31
+ port: 587,
32
+ domain: Rails.application.secrets.domain_name,
33
+ authentication: "plain",
34
+ enable_starttls_auto: true,
35
+ user_name: Rails.application.secrets.email_provider_username,
36
+ password: Rails.application.secrets.email_provider_password
37
+ }
38
+ TEXT
39
+ inject_into_file 'config/environments/development.rb', email_configuration_text, :after => "config.assets.debug = true"
40
+ inject_into_file 'config/environments/production.rb', email_configuration_text, :after => "config.active_support.deprecation = :notify"
41
+ case prefs[:email]
42
+ when 'sendgrid'
43
+ gsub_file 'config/environments/development.rb', /smtp.gmail.com/, 'smtp.sendgrid.net'
44
+ gsub_file 'config/environments/production.rb', /smtp.gmail.com/, 'smtp.sendgrid.net'
45
+ when 'mandrill'
46
+ gsub_file 'config/environments/development.rb', /smtp.gmail.com/, 'smtp.mandrillapp.com'
47
+ gsub_file 'config/environments/production.rb', /smtp.gmail.com/, 'smtp.mandrillapp.com'
48
+ gsub_file 'config/environments/development.rb', /email_provider_password/, 'email_provider_apikey'
49
+ gsub_file 'config/environments/production.rb', /email_provider_password/, 'email_provider_apikey'
50
+ end
51
+ end
52
+ ### GIT
53
+ git :add => '-A' if prefer :git, true
54
+ git :commit => '-qm "redmint_composer: set email accounts"' if prefer :git, true
55
+ end
56
+
57
+ __END__
58
+
59
+ name: email
60
+ description: "Configure email accounts."
61
+ author: RailsApps
62
+
63
+ requires: [setup]
64
+ run_after: [setup]
65
+ category: configuration
@@ -0,0 +1,92 @@
1
+ # Application template recipe for the rails_apps_composer. Change the recipe here:
2
+ # https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/email_dev.rb
3
+
4
+ prefs[:mailcatcher] = true if config['mailcatcher']
5
+ prefs[:mail_view] = true if config['mail_view']
6
+
7
+ if prefs[:mailcatcher]
8
+ add_gem 'mailcatcher', group: :development
9
+ end
10
+ add_gem 'mail_view', group: :development if prefs[:mail_view]
11
+
12
+ stage_two do
13
+ say_wizard "recipe stage two"
14
+ if prefs[:mailcatcher]
15
+ say_wizard "recipe installing mailcatcher"
16
+ create_file 'config/initializers/mailcatcher.rb' do <<-RUBY
17
+ # Detect if mailcatcher is running and use that if available
18
+ if Rails.env.development?
19
+ begin
20
+ sock = TCPSocket.new("localhost", 1025)
21
+ sock.close
22
+ catcher = true
23
+ rescue
24
+ catcher = false
25
+ end
26
+
27
+ if catcher
28
+ ActionMailer::Base.smtp_settings = { :host => "localhost", :port => '1025', }
29
+ ActionMailer::Base.perform_deliveries = true
30
+ end
31
+ end
32
+ RUBY
33
+ end
34
+ if prefer(:local_env_file, 'foreman') && File.exists?('Procfile.dev')
35
+ append_file 'Procfile.dev', "mail: mailcatcher --foreground\n"
36
+ end
37
+ ### GIT
38
+ git :add => '-A' if prefer :git, true
39
+ git :commit => '-qm "redmint_composer: set up mailcatcher for development"' if prefer :git, true
40
+ end
41
+ if prefs[:mail_view]
42
+ say_wizard "recipe installing mail_view"
43
+ create_file 'app/mailers/mail_preview.rb' do <<-RUBY
44
+ class MailPreview < MailView
45
+ # Pull data from existing fixtures
46
+ #def invitation
47
+ # account = Account.first
48
+ # inviter, invitee = account.users[0, 2]
49
+ # Notifier.invitation(inviter, invitee)
50
+ #end
51
+
52
+ # Factory-like pattern
53
+ #def welcome
54
+ # user = User.create!
55
+ # mail = Notifier.welcome(user)
56
+ # user.destroy
57
+ # mail
58
+ #end
59
+
60
+ # Stub-like
61
+ #def forgot_password
62
+ # user = Struct.new(:email, :name).new('name@example.com', 'Jill Smith')
63
+ # mail = UserMailer.forgot_password(user)
64
+ #end
65
+ end
66
+ RUBY
67
+ end
68
+ inject_into_file 'config/routes.rb', "mount MailPreview => 'mail_view' if Rails.env.development?", :before => "end"
69
+ ### GIT
70
+ git :add => '-A' if prefer :git, true
71
+ git :commit => '-qm "redmint_composer: set up mail_view for development"' if prefer :git, true
72
+ end
73
+ end
74
+
75
+ __END__
76
+
77
+ name: email_dev
78
+ description: "Add gems to help develop and debug emails locally sent by your app."
79
+ author: JangoSteve
80
+
81
+ category: development
82
+ requires: [setup]
83
+ run_after: [email, extras]
84
+ args: -T
85
+
86
+ config:
87
+ - mailcatcher:
88
+ type: boolean
89
+ prompt: Use Mailcatcher to catch sent emails in development and display in web interface?
90
+ - mail_view:
91
+ type: boolean
92
+ prompt: Add MailView routes to preview email layouts in development?
@@ -0,0 +1,63 @@
1
+ # Application template recipe for the rails_apps_composer. Change the recipe here:
2
+ # https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/example.rb
3
+
4
+ before_config do
5
+ # Code here is run before any configuration prompts.
6
+ say_wizard "recipe running before configuration"
7
+ end
8
+
9
+ if config['space_test']
10
+ say_wizard "running a space test"
11
+ test_count = config['test_count']
12
+ say_wizard "will run the test #{test_count} times"
13
+ say_wizard "will run the test in #{config['orbit']} orbit"
14
+ unless config['mars_test']
15
+ say_wizard "Mars test not available"
16
+ end
17
+ # the @config@ hash is only available to the recipe
18
+ # the @prefs{}@ hash is available to all the recipes
19
+ prefs[:test_orbit] = config['orbit']
20
+ end
21
+
22
+ stage_two do
23
+ # Code here is run after Bundler installs all the gems for the project.
24
+ # Use this section to run generators and rake tasks.
25
+ # Download any files from a repository for models, controllers, views, and routes.
26
+ say_wizard "recipe stage two"
27
+ end
28
+
29
+ stage_three do
30
+ # This block is run after the 'stage_two' block.
31
+ # Use this section to finalize the application.
32
+ # Run database migrations or make a final git commit.
33
+ say_wizard "recipe stage three"
34
+ end
35
+
36
+ # A recipe has two parts: the Ruby code and YAML matter that comes after a blank line with the __END__ keyword.
37
+
38
+ __END__
39
+
40
+ name: example
41
+ description: "Example of a recipe."
42
+ author: githubname
43
+
44
+ category: example
45
+
46
+ config:
47
+ - space_test:
48
+ type: boolean
49
+ prompt: Do you want to test your application in space?
50
+ - mars_test:
51
+ type: boolean
52
+ prompt: Do you also want to test your application on Mars?
53
+ if: space_test
54
+ if_recipe: mars_lander
55
+ - test_count:
56
+ type: string
57
+ prompt: How many times would you like to repeat the test?
58
+ if: space_test
59
+ - orbit:
60
+ type: multiple_choice
61
+ prompt: "What orbit do you want?"
62
+ choices: [ [Low Earth orbit, leo], [Sun-synchronous, spy], [Geostationary, gps] ]
63
+ if: space_test
@@ -0,0 +1,283 @@
1
+ # Application template recipe for the rails_apps_composer. Change the recipe here:
2
+ # https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/extras.rb
3
+
4
+ ## RVMRC
5
+ rvmrc_detected = false
6
+ if File.exist?('.rvmrc')
7
+ rvmrc_file = File.read('.rvmrc')
8
+ rvmrc_detected = rvmrc_file.include? app_name
9
+ end
10
+ if File.exist?('.ruby-gemset')
11
+ rvmrc_file = File.read('.ruby-gemset')
12
+ rvmrc_detected = rvmrc_file.include? app_name
13
+ end
14
+ unless rvmrc_detected || (prefs.has_key? :rvmrc)
15
+ prefs[:rvmrc] = yes_wizard? "Use or create a project-specific rvm gemset?"
16
+ end
17
+ if prefs[:rvmrc]
18
+ if which("rvm")
19
+ say_wizard "recipe creating project-specific rvm gemset and .rvmrc"
20
+ # using the rvm Ruby API, see:
21
+ # http://blog.thefrontiergroup.com.au/2010/12/a-brief-introduction-to-the-rvm-ruby-api/
22
+ # https://rvm.io/integration/passenger
23
+ if ENV['MY_RUBY_HOME'] && ENV['MY_RUBY_HOME'].include?('rvm')
24
+ begin
25
+ gems_path = ENV['MY_RUBY_HOME'].split(/@/)[0].sub(/rubies/,'gems')
26
+ ENV['GEM_PATH'] = "#{gems_path}:#{gems_path}@global"
27
+ require 'rvm'
28
+ RVM.use_from_path! File.dirname(File.dirname(__FILE__))
29
+ rescue LoadError
30
+ raise "RVM gem is currently unavailable."
31
+ end
32
+ end
33
+ say_wizard "creating RVM gemset '#{app_name}'"
34
+ RVM.gemset_create app_name
35
+ say_wizard "switching to gemset '#{app_name}'"
36
+ # RVM.gemset_use! requires rvm version 1.11.3.5 or newer
37
+ rvm_spec =
38
+ if Gem::Specification.respond_to?(:find_by_name)
39
+ Gem::Specification.find_by_name("rvm")
40
+ else
41
+ Gem.source_index.find_name("rvm").last
42
+ end
43
+ unless rvm_spec.version > Gem::Version.create('1.11.3.4')
44
+ say_wizard "rvm gem version: #{rvm_spec.version}"
45
+ raise "Please update rvm gem to 1.11.3.5 or newer"
46
+ end
47
+ begin
48
+ RVM.gemset_use! app_name
49
+ rescue => e
50
+ say_wizard "rvm failure: unable to use gemset #{app_name}, reason: #{e}"
51
+ raise
52
+ end
53
+ if File.exist?('.ruby-version')
54
+ say_wizard ".ruby-version file already exists"
55
+ else
56
+ create_file '.ruby-version', "#{RUBY_VERSION}\n"
57
+ end
58
+ if File.exist?('.ruby-gemset')
59
+ say_wizard ".ruby-gemset file already exists"
60
+ else
61
+ create_file '.ruby-gemset', "#{app_name}\n"
62
+ end
63
+ else
64
+ say_wizard "WARNING! RVM does not appear to be available."
65
+ end
66
+ end
67
+
68
+ ## QUIET ASSETS
69
+ prefs[:quiet_assets] = true if config['quiet_assets']
70
+ if prefs[:quiet_assets]
71
+ say_wizard "recipe setting quiet_assets for reduced asset pipeline logging"
72
+ add_gem 'quiet_assets', :group => :development
73
+ end
74
+
75
+ ## LOCAL_ENV.YML FILE
76
+ prefs[:local_env_file] = config['local_env_file'] unless config['local_env_file'] = 'none'
77
+
78
+ if prefer :local_env_file, 'figaro'
79
+ say_wizard "recipe creating application.yml file for environment variables with figaro"
80
+ add_gem 'figaro', '>= 1.0.0.rc1'
81
+ elsif prefer :local_env_file, 'foreman'
82
+ say_wizard "recipe creating .env file for development environment variables with foreman"
83
+ add_gem 'foreman', :group => :development
84
+ end
85
+
86
+ ## BETTER ERRORS
87
+ prefs[:better_errors] = true if config['better_errors']
88
+ if prefs[:better_errors]
89
+ say_wizard "recipe adding better_errors gem"
90
+ add_gem 'better_errors', :group => :development
91
+ if RUBY_ENGINE == 'ruby'
92
+ case RUBY_VERSION.split('.')[0] + "." + RUBY_VERSION.split('.')[1]
93
+ when '2.1'
94
+ add_gem 'binding_of_caller', :group => :development, :platforms => [:mri_21]
95
+ when '2.0'
96
+ add_gem 'binding_of_caller', :group => :development, :platforms => [:mri_20]
97
+ when '1.9'
98
+ add_gem 'binding_of_caller', :group => :development, :platforms => [:mri_19]
99
+ end
100
+ end
101
+ end
102
+
103
+ # Pry
104
+ prefs[:pry] = true if config['pry']
105
+ if prefs[:pry]
106
+ say_wizard "recipe adding pry-rails gem"
107
+ add_gem 'pry-rails', :group => [:development, :test]
108
+ add_gem 'pry-rescue', :group => [:development, :test]
109
+ add_gem 'pry'
110
+ add_gem 'pry-byebug'
111
+ add_gem 'pry-remote'
112
+ add_gem 'pry-stack_explorer'
113
+ end
114
+
115
+ ## Rubocop
116
+ prefs[:rubocop] = true if config['rubocop']
117
+ if prefs[:rubocop]
118
+ say_wizard "recipe adding rubocop gem and basic .rubocop.yml"
119
+ add_gem 'rubocop', :group => [:development, :test]
120
+ copy_from_repo '.rubocop.yml'
121
+ end
122
+
123
+ ## Disable Turbolinks
124
+ if config['disable_turbolinks']
125
+ prefs[:disable_turbolinks] = true
126
+ end
127
+ if prefs[:disable_turbolinks]
128
+ say_wizard "recipe removing support for Rails Turbolinks"
129
+ stage_two do
130
+ say_wizard "recipe stage two"
131
+ gsub_file 'Gemfile', /gem 'turbolinks'\n/, ''
132
+ gsub_file 'app/assets/javascripts/application.js', "//= require turbolinks\n", ''
133
+ case prefs[:templates]
134
+ when 'erb'
135
+ gsub_file 'app/views/layouts/application.html.erb', /, 'data-turbolinks-track' => true/, ''
136
+ when 'haml'
137
+ gsub_file 'app/views/layouts/application.html.haml', /, 'data-turbolinks-track' => true/, ''
138
+ when 'slim'
139
+ gsub_file 'app/views/layouts/application.html.slim', /, 'data-turbolinks-track' => true/, ''
140
+ end
141
+ end
142
+ end
143
+
144
+ ## BAN SPIDERS
145
+ prefs[:ban_spiders] = true if config['ban_spiders']
146
+ if prefs[:ban_spiders]
147
+ say_wizard "recipe banning spiders by modifying 'public/robots.txt'"
148
+ stage_two do
149
+ say_wizard "recipe stage two"
150
+ gsub_file 'public/robots.txt', /# User-Agent/, 'User-Agent'
151
+ gsub_file 'public/robots.txt', /# Disallow/, 'Disallow'
152
+ end
153
+ end
154
+
155
+ ## JSRUNTIME
156
+ case RbConfig::CONFIG['host_os']
157
+ when /linux/i
158
+ prefs[:jsruntime] = yes_wizard? "Add 'therubyracer' JavaScript runtime (for Linux users without node.js)?" unless prefs.has_key? :jsruntime
159
+ if prefs[:jsruntime]
160
+ say_wizard "recipe adding 'therubyracer' JavaScript runtime gem"
161
+ add_gem 'therubyracer', :platform => :ruby
162
+ end
163
+ end
164
+
165
+ stage_four do
166
+ say_wizard "recipe stage four"
167
+ say_wizard "recipe removing unnecessary files and whitespace"
168
+ %w{
169
+ public/index.html
170
+ app/assets/images/rails.png
171
+ }.each { |file| remove_file file }
172
+ # remove temporary Haml gems from Gemfile when Slim is selected
173
+ if prefer :templates, 'slim'
174
+ gsub_file 'Gemfile', /.*gem 'haml2slim'\n/, "\n"
175
+ gsub_file 'Gemfile', /.*gem 'html2haml'\n/, "\n"
176
+ end
177
+ # remove gems and files used to assist redmint_composer
178
+ gsub_file 'Gemfile', /.*gem 'rails_apps_pages'\n/, ''
179
+ gsub_file 'Gemfile', /.*gem 'rails_apps_testing'\n/, ''
180
+ remove_file 'config/railscomposer.yml'
181
+ # remove commented lines and multiple blank lines from Gemfile
182
+ # thanks to https://github.com/perfectline/template-bucket/blob/master/cleanup.rb
183
+ gsub_file 'Gemfile', /#.*\n/, "\n"
184
+ gsub_file 'Gemfile', /\n^\s*\n/, "\n"
185
+ remove_file 'Gemfile.lock'
186
+ run 'bundle install --without production'
187
+ # remove commented lines and multiple blank lines from config/routes.rb
188
+ gsub_file 'config/routes.rb', / #.*\n/, "\n"
189
+ gsub_file 'config/routes.rb', /\n^\s*\n/, "\n"
190
+ # GIT
191
+ git :add => '-A' if prefer :git, true
192
+ git :commit => '-qm "redmint_composer: extras"' if prefer :git, true
193
+ end
194
+
195
+ ## GITHUB
196
+ prefs[:github] = true if config['github']
197
+ if prefs[:github]
198
+ add_gem 'hub', :require => nil, :group => [:development]
199
+ stage_three do
200
+ say_wizard "recipe stage three"
201
+ say_wizard "recipe creating GitHub repository"
202
+ git_uri = `git config remote.origin.url`.strip
203
+ unless git_uri.size == 0
204
+ say_wizard "Repository already exists:"
205
+ say_wizard "#{git_uri}"
206
+ else
207
+ run "hub create #{app_name}"
208
+ run "hub push -u origin master"
209
+ end
210
+ end
211
+ end
212
+
213
+ ## REDMINT DEFAULT GEMS
214
+ prefs[:redmint_gems] = true if config['redmint_gems']
215
+ if prefs[:redmint_gems]
216
+ say_wizard "recipe adding default redmint gems"
217
+ add_gem 'zeus'
218
+ add_gem 'awesome_print'
219
+ add_gem 'yaml_db'
220
+ add_gem 'kaminari'
221
+ add_gem 'ransack'
222
+ add_gem 'redis'
223
+ add_gem 'draper'
224
+ add_gem "i18n-js", ">= 3.0.0.rc8"
225
+ add_gem 'mini_magick'
226
+ add_gem 'carrierwave'
227
+ add_gem 'carrierwave_backgrounder'
228
+ add_gem 'cancancan', '~> 1.10'
229
+ add_gem "rolify"
230
+ add_gem 'sinatra', '>= 1.3.0', :require => nil
231
+ add_gem 'sidekiq'
232
+ add_gem 'sidetiq'
233
+ add_gem 'cocoon'
234
+ add_gem "font-awesome-rails"
235
+ add_gem 'wicked'
236
+ add_gem 'axlsx_rails'
237
+ add_gem 'letter_opener', :group => [:development]
238
+ add_gem 'foreman', "0.63.0", :group => [:development, :production]
239
+ add_gem 'stackmint', git: "git@gitlab.redmintlabs.com:redmint/stackmint.git", :group => [:development, :production]
240
+ add_gem 'puma', :group => [:development, :production]
241
+ add_gem 'rollbar', '~> 2.4.0', :group => [:development, :production]
242
+ add_gem 'bourbon'
243
+ end
244
+
245
+ __END__
246
+
247
+ name: extras
248
+ description: "Various extras."
249
+ author: RailsApps
250
+
251
+ requires: [gems]
252
+ run_after: [gems, init]
253
+ category: other
254
+
255
+ config:
256
+ - disable_turbolinks:
257
+ type: boolean
258
+ prompt: Disable Rails Turbolinks?
259
+ - ban_spiders:
260
+ type: boolean
261
+ prompt: Set a robots.txt file to ban spiders?
262
+ - github:
263
+ type: boolean
264
+ prompt: Create a GitHub repository?
265
+ - local_env_file:
266
+ type: multiple_choice
267
+ prompt: Add gem and file for environment variables?
268
+ choices: [ [None, none], [Add .env with Foreman, foreman], [Add application.yml with Figaro, figaro]]
269
+ - quiet_assets:
270
+ type: boolean
271
+ prompt: Reduce assets logger noise during development?
272
+ - better_errors:
273
+ type: boolean
274
+ prompt: Improve error reporting with 'better_errors' during development?
275
+ - pry:
276
+ type: boolean
277
+ prompt: Use 'pry' as console replacement?
278
+ - rubocop:
279
+ type: boolean
280
+ prompt: Use 'rubocop' to ensure that your code conforms to the Ruby style guide?
281
+ - redmint_gems:
282
+ type: boolean
283
+ prompt: Add default redmint gems?