thredded_create_app 0.1.27 → 0.1.28
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/thredded_create_app/cli.rb +10 -12
- data/lib/thredded_create_app/generator.rb +5 -4
- data/lib/thredded_create_app/logging.rb +1 -0
- data/lib/thredded_create_app/tasks/add_devise.rb +3 -2
- data/lib/thredded_create_app/tasks/add_devise/spec/features/devise_spec.rb +1 -1
- data/lib/thredded_create_app/tasks/add_display_name_to_users.rb +10 -12
- data/lib/thredded_create_app/tasks/add_invisible_captcha.rb +8 -10
- data/lib/thredded_create_app/tasks/add_memcached_support.rb +1 -1
- data/lib/thredded_create_app/tasks/add_thredded/spec/features/thredded_spec.rb +1 -1
- data/lib/thredded_create_app/tasks/base.rb +28 -15
- data/lib/thredded_create_app/tasks/create_rails_app.rb +4 -5
- data/lib/thredded_create_app/tasks/setup_app_skeleton.rb +36 -10
- data/lib/thredded_create_app/tasks/setup_app_skeleton/javascripts/application.js +2 -0
- data/lib/thredded_create_app/tasks/setup_app_skeleton/manifest.js +1 -0
- data/lib/thredded_create_app/tasks/setup_app_skeleton/spec/features/homepage_spec.rb +1 -1
- data/lib/thredded_create_app/tasks/setup_database.rb +1 -0
- data/lib/thredded_create_app/version.rb +1 -1
- metadata +10 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db282a04338266835a3d22a51412fe231eb8199464d001ba7d1169ce3ef6ee74
|
4
|
+
data.tar.gz: d2a4a3a9d2004b6501ac35db551f77838612b95e090e6acb2e5b334d275f0640
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed068b67a37c9133825d4f5ad0a7a6828f86cca729180fb6af257997e95b014f99f4b766f0aac7c76b6cb6e23288e045c9de7b334ab10abc05dd9083a23d05c4
|
7
|
+
data.tar.gz: 8cce0de75ec5f90b5d0f8cf0ab129531339c12df819af7d94dd2366c2f302f3520d4a4446dda88674643739bf471ba10fb322642e658c6b78c8b422de7baadf3
|
@@ -30,19 +30,17 @@ module ThreddedCreateApp
|
|
30
30
|
|
31
31
|
def start
|
32
32
|
auto_output_coloring do
|
33
|
+
run
|
34
|
+
rescue OptionParser::ParseError, ArgvError => e
|
35
|
+
error e.message, 64
|
36
|
+
rescue ThreddedCreateApp::CommandError => e
|
33
37
|
begin
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
rescue ThreddedCreateApp::CommandError => e
|
38
|
-
begin
|
39
|
-
error e.message, 78
|
40
|
-
ensure
|
41
|
-
log_verbose e.backtrace * "\n"
|
42
|
-
end
|
43
|
-
rescue Errno::EPIPE
|
44
|
-
exit 1
|
38
|
+
error e.message, 78
|
39
|
+
ensure
|
40
|
+
log_verbose e.backtrace * "\n"
|
45
41
|
end
|
42
|
+
rescue Errno::EPIPE
|
43
|
+
exit 1
|
46
44
|
end
|
47
45
|
rescue ExecutionError => e
|
48
46
|
exit e.exit_code
|
@@ -121,7 +119,7 @@ module ThreddedCreateApp
|
|
121
119
|
For more information, see the readme at:
|
122
120
|
#{File.expand_path('../../README.md', File.dirname(__FILE__))}
|
123
121
|
https://github.com/thredded/thredded_create_app
|
124
|
-
TEXT
|
122
|
+
TEXT
|
125
123
|
end.parse!(argv)
|
126
124
|
if positional_args.length != 1
|
127
125
|
fail ArgvError, 'Expected 1 positional argument, ' \
|
@@ -100,10 +100,11 @@ module ThreddedCreateApp
|
|
100
100
|
|
101
101
|
def add_gems_to_gemfile(gems)
|
102
102
|
File.open('Gemfile', 'a') do |f|
|
103
|
-
gems.each do |(name, version, groups, path)|
|
103
|
+
gems.each do |(name, version, require, groups, path)|
|
104
104
|
f.puts ["gem '#{name}'",
|
105
|
-
(version if version),
|
106
|
-
("
|
105
|
+
("'#{version}'" if version),
|
106
|
+
("require: '#{require}'" if require),
|
107
|
+
("groups: %i[#{groups * ' '}]" if groups),
|
107
108
|
("path: '#{path}'" if path)].compact.join(', ')
|
108
109
|
end
|
109
110
|
end
|
@@ -115,7 +116,7 @@ module ThreddedCreateApp
|
|
115
116
|
FileUtils.mkdir_p cache_path
|
116
117
|
run 'ln', '-s', cache_path, 'vendor/cache'
|
117
118
|
end
|
118
|
-
run 'bundle', 'install',
|
119
|
+
run 'bundle', 'install', '--with=test',
|
119
120
|
*('--quiet' unless verbose?),
|
120
121
|
*(%w[--path .bundle] unless File.writable?(Gem.dir))
|
121
122
|
run 'bundle', 'package', *('--quiet' unless verbose?) if cache_path
|
@@ -38,7 +38,7 @@ module ThreddedCreateApp
|
|
38
38
|
|
39
39
|
def setup_after_sign_in_behaviour
|
40
40
|
inject_into_file 'app/controllers/application_controller.rb',
|
41
|
-
after:
|
41
|
+
after: /::Base\n( protect_from_forgery.*\n)?/,
|
42
42
|
content: <<-'RUBY'
|
43
43
|
|
44
44
|
before_action :store_current_location, unless: :devise_controller?
|
@@ -57,11 +57,12 @@ module ThreddedCreateApp
|
|
57
57
|
def back_url
|
58
58
|
session[:user_return_to] || (respond_to?(:root_path) ? root_path : thredded.root_path)
|
59
59
|
end
|
60
|
-
|
60
|
+
RUBY
|
61
61
|
end
|
62
62
|
|
63
63
|
def fix_migration_indices_limit_on_mysql
|
64
64
|
return unless database_adapter_name =~ /mysql|maria/i
|
65
|
+
|
65
66
|
migration_file = Dir['db/migrate/*_devise_create_users.rb'][0]
|
66
67
|
replace migration_file,
|
67
68
|
/add_index :users, :(?:email|\w+_token), +unique: true/,
|
@@ -27,31 +27,29 @@ module ThreddedCreateApp
|
|
27
27
|
'add_display_name_to_users.rb.erb'
|
28
28
|
model_path = 'app/models/user.rb'
|
29
29
|
inject_into_file model_path,
|
30
|
-
after:
|
30
|
+
after: "ApplicationRecord\n",
|
31
31
|
content: display_name_model_rb
|
32
32
|
inject_into_file model_path,
|
33
|
-
before:
|
33
|
+
before: /end\n\z/,
|
34
34
|
content: uniq_display_name_method_rb
|
35
35
|
git_commit 'Add a unique display_name User attribute'
|
36
36
|
end
|
37
37
|
|
38
38
|
def configure_devise
|
39
39
|
inject_into_file 'app/controllers/application_controller.rb',
|
40
|
-
after:
|
40
|
+
after: /::Base\n( protect_from_forgery.*\n)?/,
|
41
41
|
content: devise_permitted_params_rb
|
42
42
|
%w[app/views/devise/registrations/new.html.erb
|
43
43
|
app/views/devise/registrations/edit.html.erb].each do |path|
|
44
44
|
autofocus = File.read(path).include?(', autofocus: true')
|
45
45
|
replace path, ', autofocus: true', '' if autofocus
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
content: actionview_input_html(autofocus)
|
54
|
-
end
|
46
|
+
inject_into_file path,
|
47
|
+
after: devise_form_fields_begin_pattern,
|
48
|
+
content: if @simple_form
|
49
|
+
simple_form_input_html(autofocus)
|
50
|
+
else
|
51
|
+
actionview_input_html(autofocus)
|
52
|
+
end
|
55
53
|
end
|
56
54
|
git_commit 'Configure Devise to support display_name in forms'
|
57
55
|
end
|
@@ -22,19 +22,17 @@ module ThreddedCreateApp
|
|
22
22
|
after: "::Devise::RegistrationsController\n",
|
23
23
|
content: <<-RUBY
|
24
24
|
invisible_captcha only: %i[create], honeypot: :name
|
25
|
-
|
25
|
+
RUBY
|
26
26
|
|
27
27
|
form_view_path = 'app/views/devise/registrations/new.html.erb'
|
28
28
|
form_view_captcha = '<%= invisible_captcha :name %>'
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
content: " #{form_view_captcha}\n\n"
|
37
|
-
end
|
29
|
+
inject_into_file form_view_path,
|
30
|
+
after: devise_form_fields_begin_pattern,
|
31
|
+
content: if @simple_form
|
32
|
+
" #{form_view_captcha}\n"
|
33
|
+
else
|
34
|
+
" #{form_view_captcha}\n\n"
|
35
|
+
end
|
38
36
|
inject_into_file form_view_path,
|
39
37
|
before: ') do |f|',
|
40
38
|
content: ", html: {autocomplete: 'off'}"
|
@@ -13,13 +13,24 @@ module ThreddedCreateApp
|
|
13
13
|
|
14
14
|
attr_reader :app_name, :app_hostname, :app_path, :gems
|
15
15
|
|
16
|
-
def initialize(
|
16
|
+
def initialize(
|
17
|
+
app_path:, verbose: false, database:, simple_form: true, **_args
|
18
|
+
)
|
17
19
|
@app_path = app_path
|
18
20
|
@app_name = File.basename(File.expand_path(app_path))
|
19
21
|
@app_hostname = "#{@app_name.tr(' ', '_').downcase}.com"
|
20
22
|
@verbose = verbose
|
21
23
|
@database_adapter_name = database.to_s
|
22
24
|
@gems = []
|
25
|
+
@simple_form = simple_form
|
26
|
+
end
|
27
|
+
|
28
|
+
def devise_form_fields_begin_pattern
|
29
|
+
if @simple_form
|
30
|
+
%(<div class="form-inputs">\n)
|
31
|
+
else
|
32
|
+
%r{render "devise/shared/error_messages", resource: resource %>\n\n}
|
33
|
+
end
|
23
34
|
end
|
24
35
|
|
25
36
|
def summary
|
@@ -34,9 +45,9 @@ module ThreddedCreateApp
|
|
34
45
|
|
35
46
|
attr_reader :database_adapter_name
|
36
47
|
|
37
|
-
def add_gem(gem_name, version: nil, groups: nil, path: nil)
|
48
|
+
def add_gem(gem_name, version: nil, require: nil, groups: nil, path: nil)
|
38
49
|
log_verbose "+ gem #{gem_name}"
|
39
|
-
@gems << [gem_name, version, groups, path]
|
50
|
+
@gems << [gem_name, version, require, groups, path]
|
40
51
|
end
|
41
52
|
|
42
53
|
def git_commit(message)
|
@@ -59,6 +70,7 @@ module ThreddedCreateApp
|
|
59
70
|
if File.directory?(expanded_src_path)
|
60
71
|
fail "Only 'w' mode is supported for directories" if mode != 'w'
|
61
72
|
fail 'ERB processing not supported for directories' if process_erb
|
73
|
+
|
62
74
|
FileUtils.cp_r expanded_src_path, target_path
|
63
75
|
return
|
64
76
|
end
|
@@ -92,17 +104,8 @@ module ThreddedCreateApp
|
|
92
104
|
end
|
93
105
|
|
94
106
|
def add_precompile_asset(asset)
|
95
|
-
log_verbose "Add
|
96
|
-
|
97
|
-
if assets_conf.include?('# Rails.application.config.assets.precompile')
|
98
|
-
replace 'config/initializers/assets.rb',
|
99
|
-
/# Rails\.application\.config\.assets\.precompile.*/,
|
100
|
-
"Rails.application.config.assets.precompile += %w(#{asset})"
|
101
|
-
else
|
102
|
-
replace 'config/initializers/assets.rb',
|
103
|
-
/config\.assets\.precompile \+= %w\((.*?)\)/,
|
104
|
-
"config.assets.precompile += %w(\\1 #{asset})"
|
105
|
-
end
|
107
|
+
log_verbose "Add asset to manifest: #{asset}"
|
108
|
+
append_to_file 'app/assets/config/manifest.js', "//= link #{asset}\n"
|
106
109
|
end
|
107
110
|
|
108
111
|
def add_route(route_str, prepend: false)
|
@@ -124,6 +127,10 @@ module ThreddedCreateApp
|
|
124
127
|
eval_template(File.read(expand_src_path(template))))
|
125
128
|
end
|
126
129
|
|
130
|
+
def append_to_file(path, content)
|
131
|
+
File.write(path, File.read(path) + content)
|
132
|
+
end
|
133
|
+
|
127
134
|
def inject_into_file(path, content:, after: nil, before: nil)
|
128
135
|
replace path, (after || before), after ? '\0' + content : content + '\0'
|
129
136
|
end
|
@@ -140,7 +147,13 @@ module ThreddedCreateApp
|
|
140
147
|
if log
|
141
148
|
log_command args.length == 1 ? args[0] : Shellwords.shelljoin(args)
|
142
149
|
end
|
143
|
-
|
150
|
+
ok =
|
151
|
+
if Bundler.respond_to?(:with_unbundled_env)
|
152
|
+
Bundler.with_unbundled_env { system(*args) }
|
153
|
+
else
|
154
|
+
Bundler.with_clean_env { system(*args) }
|
155
|
+
end
|
156
|
+
exit 1 unless ok
|
144
157
|
end
|
145
158
|
|
146
159
|
def verbose?
|
@@ -28,13 +28,12 @@ module ThreddedCreateApp
|
|
28
28
|
end
|
29
29
|
@rails_version ||= latest_installed_rails_version
|
30
30
|
|
31
|
-
|
32
|
-
run "#{'bundle exec ' if ENV['TRAVIS']}" \
|
33
|
-
"rails _#{@rails_version}_ new . --skip-bundle" \
|
31
|
+
run "rails _#{@rails_version}_ new . --skip-bundle" \
|
34
32
|
" --database=#{rails_database} " \
|
35
|
-
" --skip-test#{verbose? ? ' --verbose' : ' --quiet'}"
|
33
|
+
" --skip-test#{verbose? ? ' --verbose' : ' --quiet'}" \
|
34
|
+
' --skip-javascript'
|
36
35
|
replace 'Gemfile', /gem 'sass-rails'.*$/, "gem 'sassc-rails'"
|
37
|
-
add_gem 'rspec-rails', groups: %i[test]
|
36
|
+
add_gem 'rspec-rails', version: '>= 4.0.0.beta3', groups: %i[test]
|
38
37
|
add_gem 'capybara', groups: %i[test]
|
39
38
|
git_commit summary
|
40
39
|
end
|
@@ -12,7 +12,7 @@ module ThreddedCreateApp
|
|
12
12
|
'#0288D1', # light blue
|
13
13
|
'#0097A7', # cyan
|
14
14
|
'#00796B', # teal
|
15
|
-
'#F57C00'
|
15
|
+
'#F57C00' # orange
|
16
16
|
].freeze
|
17
17
|
|
18
18
|
def summary
|
@@ -20,6 +20,9 @@ module ThreddedCreateApp
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def before_bundle
|
23
|
+
add_gem 'babel-transpiler'
|
24
|
+
add_gem 'uglifier'
|
25
|
+
add_gem 'turbolinks'
|
23
26
|
add_gem 'rails-timeago'
|
24
27
|
end
|
25
28
|
|
@@ -27,6 +30,7 @@ module ThreddedCreateApp
|
|
27
30
|
add_config_vars
|
28
31
|
add_i18n
|
29
32
|
add_seeds
|
33
|
+
configure_assets
|
30
34
|
add_favicon_and_touch_icons
|
31
35
|
add_javascripts
|
32
36
|
add_styles
|
@@ -54,14 +58,36 @@ module ThreddedCreateApp
|
|
54
58
|
<%= favicon_link_tag 'favicon.ico' %>
|
55
59
|
<%= favicon_link_tag 'apple-touch-icon.png',
|
56
60
|
rel: 'apple-touch-icon', type: 'image/png' %>
|
57
|
-
|
61
|
+
ERB
|
62
|
+
end
|
63
|
+
|
64
|
+
def configure_assets
|
65
|
+
copy 'setup_app_skeleton/manifest.js',
|
66
|
+
'app/assets/config/manifest.js'
|
67
|
+
|
68
|
+
append_to_file 'config/initializers/assets.rb', <<~RUBY
|
69
|
+
|
70
|
+
# Work around https://github.com/rails/sprockets/issues/581
|
71
|
+
Rails.application.config.assets.configure do |env|
|
72
|
+
env.export_concurrent = false
|
73
|
+
end
|
74
|
+
RUBY
|
58
75
|
end
|
59
76
|
|
60
77
|
def add_javascripts
|
78
|
+
inject_into_file 'config/environments/production.rb',
|
79
|
+
after: " # config.assets.css_compressor = :sass\n",
|
80
|
+
content: <<-RUBY
|
81
|
+
config.assets.js_compressor = Uglifier.new(harmony: true)
|
82
|
+
RUBY
|
83
|
+
|
84
|
+
copy 'setup_app_skeleton/javascripts/application.js',
|
85
|
+
'app/assets/javascripts/application.js'
|
61
86
|
copy 'setup_app_skeleton/javascripts/app.js',
|
62
87
|
'app/assets/javascripts/app.js'
|
63
88
|
copy 'setup_app_skeleton/javascripts/app/',
|
64
89
|
'app/assets/javascripts/app/'
|
90
|
+
add_precompile_asset 'application.js'
|
65
91
|
git_commit 'Add app JavaScript'
|
66
92
|
end
|
67
93
|
|
@@ -120,7 +146,7 @@ module ThreddedCreateApp
|
|
120
146
|
expand_src_path('setup_app_skeleton/application_helper_methods.rb')
|
121
147
|
)
|
122
148
|
inject_into_file 'app/helpers/application_helper.rb',
|
123
|
-
before:
|
149
|
+
before: /end\n\z/,
|
124
150
|
content: indent(2, app_helper_src)
|
125
151
|
copy 'setup_app_skeleton/themes_helper.rb',
|
126
152
|
'app/helpers/themes_helper.rb'
|
@@ -132,20 +158,20 @@ module ThreddedCreateApp
|
|
132
158
|
indent(4, <<~ERB)
|
133
159
|
<%= stylesheet_link_tag current_theme, media: 'all', 'data-turbolinks-track': 'reload' %>
|
134
160
|
ERB
|
135
|
-
|
136
|
-
|
137
|
-
|
161
|
+
inject_into_file 'app/views/layouts/application.html.erb',
|
162
|
+
before: %r{\s*</head>},
|
163
|
+
content: <<-'ERB'
|
138
164
|
<%= javascript_include_tag 'application',
|
139
165
|
async: !Rails.application.config.assets.debug,
|
140
166
|
defer: true,
|
141
167
|
'data-turbolinks-track': 'reload' %>
|
142
|
-
|
168
|
+
ERB
|
143
169
|
|
144
170
|
inject_into_file 'app/views/layouts/application.html.erb',
|
145
|
-
before:
|
171
|
+
before: %r{\s*</head>},
|
146
172
|
content: <<-'ERB'
|
147
173
|
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
148
|
-
|
174
|
+
ERB
|
149
175
|
|
150
176
|
body = File.read(
|
151
177
|
expand_src_path('setup_app_skeleton/application.body.html.erb')
|
@@ -173,7 +199,7 @@ module ThreddedCreateApp
|
|
173
199
|
before: /^\s*mount Thredded::Engine/,
|
174
200
|
content: indent(2, <<~'RUBY')
|
175
201
|
resources :users, only: [:show]
|
176
|
-
|
202
|
+
RUBY
|
177
203
|
end
|
178
204
|
|
179
205
|
def add_home_page
|
@@ -0,0 +1 @@
|
|
1
|
+
//= link_tree ../images
|
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.28
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gleb Mazovetskiy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-10-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: highline
|
@@ -50,14 +50,14 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
53
|
+
version: '2.0'
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '
|
60
|
+
version: '2.0'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: rake
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,28 +78,14 @@ dependencies:
|
|
78
78
|
requirements:
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: '3.
|
81
|
+
version: '3.9'
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: '3.
|
89
|
-
- !ruby/object:Gem::Dependency
|
90
|
-
name: rubocop
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - "~>"
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: 0.53.0
|
96
|
-
type: :development
|
97
|
-
prerelease: false
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - "~>"
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: 0.53.0
|
88
|
+
version: '3.9'
|
103
89
|
- !ruby/object:Gem::Dependency
|
104
90
|
name: simplecov
|
105
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -174,6 +160,8 @@ files:
|
|
174
160
|
- lib/thredded_create_app/tasks/setup_app_skeleton/javascripts/app/monkey-patch-turbolinks.js
|
175
161
|
- lib/thredded_create_app/tasks/setup_app_skeleton/javascripts/app/theme.js
|
176
162
|
- lib/thredded_create_app/tasks/setup_app_skeleton/javascripts/app/time_ago.js
|
163
|
+
- lib/thredded_create_app/tasks/setup_app_skeleton/javascripts/application.js
|
164
|
+
- lib/thredded_create_app/tasks/setup_app_skeleton/manifest.js
|
177
165
|
- lib/thredded_create_app/tasks/setup_app_skeleton/seeds.rb.erb
|
178
166
|
- lib/thredded_create_app/tasks/setup_app_skeleton/spec/controllers/users_controller_spec.rb
|
179
167
|
- lib/thredded_create_app/tasks/setup_app_skeleton/spec/features/homepage_spec.rb
|
@@ -207,15 +195,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
207
195
|
requirements:
|
208
196
|
- - "~>"
|
209
197
|
- !ruby/object:Gem::Version
|
210
|
-
version: '2.
|
198
|
+
version: '2.5'
|
211
199
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
212
200
|
requirements:
|
213
201
|
- - ">="
|
214
202
|
- !ruby/object:Gem::Version
|
215
203
|
version: '0'
|
216
204
|
requirements: []
|
217
|
-
|
218
|
-
rubygems_version: 2.7.8
|
205
|
+
rubygems_version: 3.0.6
|
219
206
|
signing_key:
|
220
207
|
specification_version: 4
|
221
208
|
summary: Rails app generator for Thredded.
|