thredded_create_app 0.1.11 → 0.1.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +38 -4
- data/exe/thredded_create_app +1 -0
- data/lib/thredded_create_app/cli.rb +7 -7
- data/lib/thredded_create_app/command_error.rb +1 -0
- data/lib/thredded_create_app/generator.rb +5 -0
- data/lib/thredded_create_app/logging.rb +1 -0
- data/lib/thredded_create_app/tasks/add_devise.rb +1 -0
- data/lib/thredded_create_app/tasks/add_display_name_to_users/add_display_name_to_users.rb +1 -0
- data/lib/thredded_create_app/tasks/add_display_name_to_users.rb +1 -0
- data/lib/thredded_create_app/tasks/add_memcached_support.rb +1 -0
- data/lib/thredded_create_app/tasks/add_rails_email_preview/_rails_email_preview-custom.scss +7 -0
- data/lib/thredded_create_app/tasks/add_rails_email_preview.rb +36 -0
- data/lib/thredded_create_app/tasks/add_roadie.rb +61 -0
- data/lib/thredded_create_app/tasks/add_simple_form.rb +1 -0
- data/lib/thredded_create_app/tasks/add_thredded/_thredded-custom.scss +12 -0
- data/lib/thredded_create_app/tasks/add_thredded/{_myapp-thredded.scss → _thredded-variables.scss} +0 -11
- data/lib/thredded_create_app/tasks/add_thredded/add_admin_to_users.rb +1 -0
- data/lib/thredded_create_app/tasks/add_thredded/spec/features/thredded_spec.rb +1 -0
- data/lib/thredded_create_app/tasks/add_thredded/thredded_initializer_controller.rb +1 -0
- data/lib/thredded_create_app/tasks/add_thredded.rb +69 -4
- data/lib/thredded_create_app/tasks/base.rb +24 -4
- data/lib/thredded_create_app/tasks/create_rails_app.rb +1 -0
- data/lib/thredded_create_app/tasks/docker.rb +1 -0
- data/lib/thredded_create_app/tasks/production_configs/puma.production.rb +1 -0
- data/lib/thredded_create_app/tasks/production_configs.rb +1 -0
- data/lib/thredded_create_app/tasks/setup_app_skeleton/_variables.scss.erb +1 -0
- data/lib/thredded_create_app/tasks/setup_app_skeleton/spec/controllers/users_controller_spec.rb +1 -0
- data/lib/thredded_create_app/tasks/setup_app_skeleton/spec/features/homepage_spec.rb +1 -0
- data/lib/thredded_create_app/tasks/setup_app_skeleton.rb +10 -4
- data/lib/thredded_create_app/tasks/setup_database.rb +1 -0
- data/lib/thredded_create_app/version.rb +2 -1
- data/lib/thredded_create_app.rb +1 -0
- metadata +8 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 513368c529e15ea3dc4754fca05f14bc9079f6ea
|
4
|
+
data.tar.gz: fa5a72dd4db36c920ca536a7c4ac1953bf627e63
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ef614456503b8c591ff0e34e4ddce7bda63e0bfd96d962975a28e1587d5bda8bfd519d106702d4529938e4dd67aca961435584853626b0afc4324ed3e375856
|
7
|
+
data.tar.gz: cfc159231d9edd498a86138cde95f4e10988cbc125eac7c75bc2381e4ae4c11975e78a046a9c356b001619b19132b9863d3a487356374192346d69aebed6199f
|
data/README.md
CHANGED
@@ -118,7 +118,11 @@ development and test databases. Then, the database is created, the migrations
|
|
118
118
|
are run, and the database is seeded with an admin user and a messageboard.
|
119
119
|
|
120
120
|
Finally, the tests are run, and the development web server is started at
|
121
|
-
<http://localhost:3000>.
|
121
|
+
<http://localhost:3000>. To start the server yourself afterwards with:
|
122
|
+
|
123
|
+
```bash
|
124
|
+
bundle exec rails s
|
125
|
+
```
|
122
126
|
|
123
127
|
[`async`]: https://developer.mozilla.org/en/docs/Web/HTML/Element/script
|
124
128
|
[`defer`]: https://developer.mozilla.org/en/docs/Web/HTML/Element/script
|
@@ -179,9 +183,39 @@ heroku open
|
|
179
183
|
You can log in as the admin user with email `admin@<app name>.com`, password
|
180
184
|
`123456`.
|
181
185
|
|
182
|
-
|
183
|
-
|
184
|
-
|
186
|
+
### E-mails
|
187
|
+
|
188
|
+
The app is now deployed, but you'll also need to set up emailing.
|
189
|
+
|
190
|
+
The easiest way to do this is via the Mailgun Heroku add-on.
|
191
|
+
|
192
|
+
1. Enable the Mailgun add-on:
|
193
|
+
|
194
|
+
```bash
|
195
|
+
heroku addons:create mailgun:starter # Enable Mailgun with the free plan
|
196
|
+
```
|
197
|
+
|
198
|
+
2. Copy the following snippet into `config/environments/production.rb`:
|
199
|
+
|
200
|
+
```ruby
|
201
|
+
config.action_mailer.perform_deliveries = true
|
202
|
+
config.action_mailer.raise_delivery_errors = true
|
203
|
+
config.action_mailer.delivery_method = :smtp
|
204
|
+
config.action_mailer.smtp_settings = {
|
205
|
+
domain: '[SET ME] myapp.herokuapp.com',
|
206
|
+
port: ENV['MAILGUN_SMTP_PORT'],
|
207
|
+
address: ENV['MAILGUN_SMTP_SERVER'],
|
208
|
+
user_name: ENV['MAILGUN_SMTP_LOGIN'],
|
209
|
+
password: ENV['MAILGUN_SMTP_PASSWORD'],
|
210
|
+
authentication: :plain,
|
211
|
+
}
|
212
|
+
```
|
213
|
+
|
214
|
+
Set the `domain` in the snippet above to your domain.
|
215
|
+
|
216
|
+
3. Commit and push to Heroku.
|
217
|
+
|
218
|
+
### Performance
|
185
219
|
|
186
220
|
You may also want to set the Ruby GC variables for maximum performance.
|
187
221
|
You can either do so by profiling the app with the
|
data/exe/thredded_create_app
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'thredded_create_app/command_error'
|
3
4
|
require 'thredded_create_app/generator'
|
4
5
|
require 'thredded_create_app/logging'
|
@@ -110,15 +111,14 @@ module ThreddedCreateApp
|
|
110
111
|
STDERR.puts op
|
111
112
|
exit
|
112
113
|
end
|
113
|
-
op.separator Term::ANSIColor.bright_blue
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
https://github.com/thredded/thredded_create_app
|
114
|
+
op.separator Term::ANSIColor.bright_blue <<~TEXT
|
115
|
+
For more information, see the readme at:
|
116
|
+
#{File.expand_path('../../README.md', File.dirname(__FILE__))}
|
117
|
+
https://github.com/thredded/thredded_create_app
|
118
118
|
TEXT
|
119
119
|
end.parse!(argv)
|
120
120
|
if positional_args.length != 1
|
121
|
-
|
121
|
+
fail ArgvError, 'Expected 1 positional argument, ' \
|
122
122
|
"got #{positional_args.length}."
|
123
123
|
end
|
124
124
|
options.update(app_path: argv[0])
|
@@ -153,7 +153,7 @@ TEXT
|
|
153
153
|
|
154
154
|
def error(message, exit_code)
|
155
155
|
log_error message
|
156
|
-
|
156
|
+
fail ExecutionError.new(message, exit_code)
|
157
157
|
end
|
158
158
|
|
159
159
|
def auto_output_coloring(coloring = STDOUT.isatty)
|
@@ -1,10 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'fileutils'
|
3
4
|
require 'shellwords'
|
4
5
|
require 'thredded_create_app/tasks/base'
|
5
6
|
require 'thredded_create_app/tasks/create_rails_app'
|
6
7
|
require 'thredded_create_app/tasks/add_simple_form'
|
7
8
|
require 'thredded_create_app/tasks/add_devise'
|
9
|
+
require 'thredded_create_app/tasks/add_roadie'
|
10
|
+
require 'thredded_create_app/tasks/add_rails_email_preview'
|
8
11
|
require 'thredded_create_app/tasks/add_thredded'
|
9
12
|
require 'thredded_create_app/tasks/add_display_name_to_users'
|
10
13
|
require 'thredded_create_app/tasks/setup_database'
|
@@ -62,6 +65,8 @@ module ThreddedCreateApp
|
|
62
65
|
Tasks::CreateRailsApp,
|
63
66
|
(Tasks::AddSimpleForm if @options[:simple_form]),
|
64
67
|
Tasks::AddDevise,
|
68
|
+
Tasks::AddRailsEmailPreview,
|
69
|
+
Tasks::AddRoadie,
|
65
70
|
Tasks::AddThredded,
|
66
71
|
Tasks::AddDisplayNameToUsers,
|
67
72
|
Tasks::SetupAppSkeleton,
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'thredded_create_app/tasks/base'
|
4
|
+
module ThreddedCreateApp
|
5
|
+
module Tasks
|
6
|
+
class AddRailsEmailPreview < Base
|
7
|
+
def summary
|
8
|
+
'Add and configure RailsEmailPreview'
|
9
|
+
end
|
10
|
+
|
11
|
+
def before_bundle
|
12
|
+
add_gem 'rails_email_preview'
|
13
|
+
end
|
14
|
+
|
15
|
+
def after_bundle
|
16
|
+
run_generator 'rails_email_preview:install'
|
17
|
+
add_styles
|
18
|
+
git_commit 'rails g rails_email_preview:install'
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def add_styles
|
24
|
+
if File.file? 'app/assets/stylesheets/application.css'
|
25
|
+
File.delete 'app/assets/stylesheets/application.css'
|
26
|
+
end
|
27
|
+
copy 'add_rails_email_preview/_rails_email_preview-custom.scss',
|
28
|
+
'app/assets/stylesheets/_rails_email_preview-custom.scss'
|
29
|
+
|
30
|
+
File.write 'app/assets/stylesheets/application.scss', <<~SCSS, mode: 'a'
|
31
|
+
@import "rails_email_preview-custom";
|
32
|
+
SCSS
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'thredded_create_app/tasks/base'
|
4
|
+
module ThreddedCreateApp
|
5
|
+
module Tasks
|
6
|
+
class AddRoadie < Base
|
7
|
+
def summary
|
8
|
+
'Add and configure the Roadie email pre-processor'
|
9
|
+
end
|
10
|
+
|
11
|
+
def before_bundle
|
12
|
+
add_gem 'roadie-rails'
|
13
|
+
add_gem 'plain-david' # for plain text email generation
|
14
|
+
end
|
15
|
+
|
16
|
+
def after_bundle
|
17
|
+
inject_into_file 'app/mailers/application_mailer.rb',
|
18
|
+
after: "ActionMailer::Base\n",
|
19
|
+
content: " include Roadie::Rails::Automatic\n"
|
20
|
+
inject_into_file 'config/environments/test.rb',
|
21
|
+
before: /\nend\n\z$/,
|
22
|
+
content: indent(2, "\n" + roadie_development_config)
|
23
|
+
inject_into_file 'config/environments/development.rb',
|
24
|
+
before: /\nend\n\z$/,
|
25
|
+
content: indent(2, "\n" + roadie_development_config)
|
26
|
+
inject_into_file 'config/environments/production.rb',
|
27
|
+
before: /\nend\n\z$/,
|
28
|
+
content: indent(2, "\n" + roadie_production_config)
|
29
|
+
replace 'app/views/layouts/mailer.html.erb',
|
30
|
+
%r{<style>.*?</style>}m,
|
31
|
+
"<%= stylesheet_link_tag 'email' %>"
|
32
|
+
git_commit 'Add Roadie configuration'
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def roadie_development_config
|
38
|
+
<<~'RUBY'
|
39
|
+
# Set the default URL options for both Roadie and ActionMailer:
|
40
|
+
config.roadie.url_options = config.action_mailer.default_url_options = {
|
41
|
+
host: 'localhost',
|
42
|
+
port: 3000,
|
43
|
+
}
|
44
|
+
RUBY
|
45
|
+
end
|
46
|
+
|
47
|
+
def roadie_production_config
|
48
|
+
<<~'RUBY'
|
49
|
+
# Roadie requires that action_mailer.asset_host is nil, see:
|
50
|
+
# https://github.com/Mange/roadie-rails/blob/9e3cb2ed59f4ec9fda252ad016b23e106983a440/README.md#known-issues
|
51
|
+
config.action_mailer.asset_host = nil
|
52
|
+
# Set the default URL options for both Roadie and ActionMailer:
|
53
|
+
config.roadie.url_options = config.action_mailer.default_url_options = {
|
54
|
+
host: ENV['APP_HOST'] || '[SET ME] myapp.herokuapp.com',
|
55
|
+
protocol: 'https',
|
56
|
+
}
|
57
|
+
RUBY
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
@import "variables";
|
2
|
+
@import "thredded-variables";
|
3
|
+
@import "thredded";
|
4
|
+
|
5
|
+
.thredded--main-container {
|
6
|
+
// The padding and max-width are handled by the app's container.
|
7
|
+
max-width: none;
|
8
|
+
padding: 0;
|
9
|
+
@include thredded-media-tablet-and-up {
|
10
|
+
padding: 0;
|
11
|
+
}
|
12
|
+
}
|
data/lib/thredded_create_app/tasks/add_thredded/{_myapp-thredded.scss → _thredded-variables.scss}
RENAMED
@@ -1,5 +1,4 @@
|
|
1
1
|
@import "variables";
|
2
|
-
|
3
2
|
$thredded-brand: $brand-primary;
|
4
3
|
$thredded-text-color: $text-color;
|
5
4
|
$thredded-secondary-text-color: $secondary-text-color;
|
@@ -7,13 +6,3 @@ $thredded-base-font-family: $base-font-family;
|
|
7
6
|
$thredded-base-font-size: $base-font-size;
|
8
7
|
$thredded-base-line-height: $base-line-height;
|
9
8
|
$thredded-grid-container-max-width: $grid-container-max-width;
|
10
|
-
@import "thredded";
|
11
|
-
|
12
|
-
.thredded--main-container {
|
13
|
-
// The padding and max-width are handled by the app's container.
|
14
|
-
max-width: none;
|
15
|
-
padding: 0;
|
16
|
-
@include thredded-media-tablet-and-up {
|
17
|
-
padding: 0;
|
18
|
-
}
|
19
|
-
}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'thredded_create_app/tasks/base'
|
3
4
|
module ThreddedCreateApp
|
4
5
|
module Tasks
|
@@ -11,7 +12,7 @@ module ThreddedCreateApp
|
|
11
12
|
add_gem 'thredded'
|
12
13
|
end
|
13
14
|
|
14
|
-
def after_bundle
|
15
|
+
def after_bundle # rubocop:disable Metrics/AbcSize
|
15
16
|
install_thredded
|
16
17
|
git_commit 'Install thredded (rails g thredded:install)'
|
17
18
|
add_thredded_routes
|
@@ -25,6 +26,10 @@ module ThreddedCreateApp
|
|
25
26
|
git_commit 'Configure Thredded (routes, assets, behaviour, tests)'
|
26
27
|
add_admin_column_to_users
|
27
28
|
git_commit 'Add the admin column to users'
|
29
|
+
add_thredded_email_styles
|
30
|
+
git_commit 'Configure Thredded email styles with Roadie'
|
31
|
+
configure_rails_email_preview
|
32
|
+
git_commit 'Configure RailsEmailPreview with Thredded and Roadie'
|
28
33
|
run 'bundle exec rails thredded:install:emoji'
|
29
34
|
git_commit 'Copied emoji to public/emoji'
|
30
35
|
end
|
@@ -54,13 +59,15 @@ module ThreddedCreateApp
|
|
54
59
|
end
|
55
60
|
|
56
61
|
def add_thredded_styles
|
57
|
-
copy 'add_thredded/
|
58
|
-
|
62
|
+
copy 'add_thredded/_thredded-variables.scss',
|
63
|
+
'app/assets/stylesheets/_thredded-variables.scss'
|
64
|
+
copy 'add_thredded/_thredded-custom.scss',
|
65
|
+
'app/assets/stylesheets/_thredded-custom.scss'
|
59
66
|
if File.file? 'app/assets/stylesheets/application.css'
|
60
67
|
File.delete 'app/assets/stylesheets/application.css'
|
61
68
|
end
|
62
69
|
File.write 'app/assets/stylesheets/application.scss',
|
63
|
-
"@import \"
|
70
|
+
"@import \"thredded-custom\";\n",
|
64
71
|
mode: 'a'
|
65
72
|
end
|
66
73
|
|
@@ -74,6 +81,64 @@ module ThreddedCreateApp
|
|
74
81
|
copy 'add_thredded/add_admin_to_users.rb',
|
75
82
|
Dir['db/migrate/*_add_admin_to_users.rb'][0]
|
76
83
|
end
|
84
|
+
|
85
|
+
def add_thredded_email_styles
|
86
|
+
File.write 'app/assets/stylesheets/email.scss', <<~'SCSS', mode: 'a'
|
87
|
+
@import "variables";
|
88
|
+
@import "thredded-variables";
|
89
|
+
@import "thredded/email";
|
90
|
+
SCSS
|
91
|
+
|
92
|
+
replace 'config/initializers/thredded.rb',
|
93
|
+
"# Thredded.parent_mailer = 'ActionMailer::Base'",
|
94
|
+
"Thredded.parent_mailer = 'ApplicationMailer'"
|
95
|
+
|
96
|
+
add_precompile_asset 'email.css'
|
97
|
+
|
98
|
+
File.write 'config/initializers/roadie.rb', <<~'RUBY', mode: 'a'
|
99
|
+
Rails.application.config.roadie.before_transformation = Thredded::EmailTransformer
|
100
|
+
RUBY
|
101
|
+
end
|
102
|
+
|
103
|
+
# rubocop:disable Metrics/MethodLength,Metrics/AbcSize
|
104
|
+
def configure_rails_email_preview
|
105
|
+
replace 'config/routes.rb',
|
106
|
+
/\s*mount RailsEmailPreview::Engine.*/,
|
107
|
+
indent(2, "\n" + <<~'RUBY' + "\n")
|
108
|
+
scope path: 'admin' do
|
109
|
+
authenticate :user, lambda { |u| u.admin? } do
|
110
|
+
mount RailsEmailPreview::Engine, at: 'emails'
|
111
|
+
end
|
112
|
+
end
|
113
|
+
RUBY
|
114
|
+
replace 'config/initializers/rails_email_preview.rb',
|
115
|
+
/#\s?(RailsEmailPreview\.setup.*?\n)(.*?)#\s?end/m do |m|
|
116
|
+
content = m[2]
|
117
|
+
content.gsub!(/^#( {2}#|$)/, '\1') || fail
|
118
|
+
content.gsub!(/^#/, ' #')
|
119
|
+
content.gsub!(/ *# *config.before_render.*?end\n/m,
|
120
|
+
indent(2, <<~'RUBY')) || fail
|
121
|
+
config.before_render do |message, preview_class_name, mailer_action|
|
122
|
+
Roadie::Rails::MailInliner.new(message, message.roadie_options).execute
|
123
|
+
end
|
124
|
+
RUBY
|
125
|
+
content.gsub!(/ *# *config.enable_send_email =.*\n/,
|
126
|
+
indent(2, <<~'RUBY')) || fail
|
127
|
+
config.enable_send_email = Rails.env.production?
|
128
|
+
RUBY
|
129
|
+
content.gsub!(/# do not show send email button/i,
|
130
|
+
'# Only show Send Email button in production')
|
131
|
+
"#{m[1]}#{content}end"
|
132
|
+
end
|
133
|
+
replace 'config/initializers/rails_email_preview.rb',
|
134
|
+
/#\s*RailsEmailPreview.layout =.*/,
|
135
|
+
"RailsEmailPreview.layout = 'application'"
|
136
|
+
replace 'config/initializers/rails_email_preview.rb',
|
137
|
+
/RailsEmailPreview.preview_classes = /,
|
138
|
+
'RailsEmailPreview.preview_classes = ' \
|
139
|
+
'Thredded::BaseMailerPreview.preview_classes + '
|
140
|
+
end
|
141
|
+
# rubocop:enable Metrics/MethodLength,Metrics/AbcSize
|
77
142
|
end
|
78
143
|
end
|
79
144
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'shellwords'
|
3
4
|
require 'fileutils'
|
4
5
|
require 'erb'
|
@@ -52,15 +53,34 @@ module ThreddedCreateApp
|
|
52
53
|
File.write target_path, src, mode: mode
|
53
54
|
end
|
54
55
|
|
55
|
-
def replace(path, pattern, replacement = nil, optional: false
|
56
|
+
def replace(path, pattern, replacement = nil, optional: false)
|
56
57
|
src = File.read(path)
|
57
|
-
|
58
|
-
|
59
|
-
|
58
|
+
changed = if block_given?
|
59
|
+
src.gsub!(pattern) { |_| yield Regexp.last_match }
|
60
|
+
else
|
61
|
+
src.gsub!(pattern, replacement)
|
62
|
+
end
|
63
|
+
unless changed || optional
|
64
|
+
fail ThreddedCreateApp::CommandError,
|
65
|
+
"No match found for #{pattern} in #{path}"
|
60
66
|
end
|
61
67
|
File.write path, src
|
62
68
|
end
|
63
69
|
|
70
|
+
def add_precompile_asset(asset)
|
71
|
+
log_verbose "Add precompile asset: #{asset}"
|
72
|
+
assets_conf = File.read('config/initializers/assets.rb')
|
73
|
+
if assets_conf.include?('# Rails.application.config.assets.precompile')
|
74
|
+
replace 'config/initializers/assets.rb',
|
75
|
+
/# Rails\.application\.config\.assets\.precompile.*/,
|
76
|
+
"Rails.application.config.assets.precompile += %w(#{asset})"
|
77
|
+
else
|
78
|
+
replace 'config/initializers/assets.rb',
|
79
|
+
/config\.assets\.precompile += %w\((.*?)\)/,
|
80
|
+
"config.assets.precompile += %w(\\1 #{asset})"
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
64
84
|
def add_route(route_str, prepend: false)
|
65
85
|
log_verbose "Add route: #{route_str}"
|
66
86
|
inject_into_file 'config/routes.rb',
|
@@ -1,6 +1,7 @@
|
|
1
1
|
$brand-primary: <%= brand_primary %>;
|
2
2
|
$text-color: #575d6b;
|
3
3
|
$secondary-text-color: lighten($text-color, 30%);
|
4
|
+
$light-gray: #eee;
|
4
5
|
$base-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif;
|
5
6
|
$base-font-size: 1rem;
|
6
7
|
$base-line-height: 1.5;
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'thredded_create_app/tasks/base'
|
3
4
|
module ThreddedCreateApp
|
4
5
|
module Tasks
|
@@ -49,9 +50,9 @@ module ThreddedCreateApp
|
|
49
50
|
inject_into_file 'app/views/layouts/application.html.erb',
|
50
51
|
before: ' <%= csrf_meta_tags %>',
|
51
52
|
content: indent(4, <<~ERB)
|
52
|
-
|
53
|
-
|
54
|
-
|
53
|
+
<%= favicon_link_tag 'favicon.ico' %>
|
54
|
+
<%= favicon_link_tag 'apple-touch-icon.png',
|
55
|
+
rel: 'apple-touch-icon', type: 'image/png' %>
|
55
56
|
ERB
|
56
57
|
end
|
57
58
|
|
@@ -84,6 +85,11 @@ module ThreddedCreateApp
|
|
84
85
|
def add_i18n
|
85
86
|
copy_template 'setup_app_skeleton/en.yml.erb',
|
86
87
|
'config/locales/en.yml'
|
88
|
+
inject_into_file'config/application.rb',
|
89
|
+
before: / *end\nend\n\z/,
|
90
|
+
content: indent(4, <<~'RUBY')
|
91
|
+
config.i18n.available_locales = %w(en)
|
92
|
+
RUBY
|
87
93
|
end
|
88
94
|
|
89
95
|
def add_app_layout # rubocop:disable Metrics/MethodLength
|
@@ -140,7 +146,7 @@ module ThreddedCreateApp
|
|
140
146
|
inject_into_file 'config/routes.rb',
|
141
147
|
before: /^\s*mount Thredded::Engine/,
|
142
148
|
content: indent(2, <<~'RUBY')
|
143
|
-
|
149
|
+
resources :users, only: [:show]
|
144
150
|
RUBY
|
145
151
|
end
|
146
152
|
|
data/lib/thredded_create_app.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thredded_create_app
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gleb Mazovetskiy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: term-ansicolor
|
@@ -114,9 +114,13 @@ files:
|
|
114
114
|
- lib/thredded_create_app/tasks/add_display_name_to_users.rb
|
115
115
|
- lib/thredded_create_app/tasks/add_display_name_to_users/add_display_name_to_users.rb
|
116
116
|
- lib/thredded_create_app/tasks/add_memcached_support.rb
|
117
|
+
- lib/thredded_create_app/tasks/add_rails_email_preview.rb
|
118
|
+
- lib/thredded_create_app/tasks/add_rails_email_preview/_rails_email_preview-custom.scss
|
119
|
+
- lib/thredded_create_app/tasks/add_roadie.rb
|
117
120
|
- lib/thredded_create_app/tasks/add_simple_form.rb
|
118
121
|
- lib/thredded_create_app/tasks/add_thredded.rb
|
119
|
-
- lib/thredded_create_app/tasks/add_thredded/
|
122
|
+
- lib/thredded_create_app/tasks/add_thredded/_thredded-custom.scss
|
123
|
+
- lib/thredded_create_app/tasks/add_thredded/_thredded-variables.scss
|
120
124
|
- lib/thredded_create_app/tasks/add_thredded/add_admin_to_users.rb
|
121
125
|
- lib/thredded_create_app/tasks/add_thredded/myapp_thredded.js
|
122
126
|
- lib/thredded_create_app/tasks/add_thredded/spec/features/thredded_spec.rb
|
@@ -171,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
171
175
|
version: '0'
|
172
176
|
requirements: []
|
173
177
|
rubyforge_project:
|
174
|
-
rubygems_version: 2.6.
|
178
|
+
rubygems_version: 2.6.11
|
175
179
|
signing_key:
|
176
180
|
specification_version: 4
|
177
181
|
summary: Rails app generator for Thredded.
|