thredded_create_app 0.1.2 → 0.1.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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/thredded_create_app/cli.rb +7 -8
- data/lib/thredded_create_app/tasks/base.rb +4 -4
- data/lib/thredded_create_app/tasks/create_rails_app.rb +8 -3
- data/lib/thredded_create_app/tasks/setup_app_skeleton.rb +12 -2
- data/lib/thredded_create_app/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8321129255513f386fad12a0d97ee42921986331
|
4
|
+
data.tar.gz: 191f06d32b4a785fc7247f4727a680a813e6255f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 03e931cd479e9d3c1ae73b51ebf6885a28c2046d21744d60262daad28a04f18647a693f0d8b546e10cc377e3c62e561308fc08d9ffc3ffcd1aaa7fe53bcbb3c4
|
7
|
+
data.tar.gz: 1275fc973cdfe0b1ab08510f3a1ffaeb3e478cf13d39dd46939c870dea6027e27b178ddc471a80bda6799f310cc0e624b6f13592bf7bc8bbe5de6ee50b5fac87
|
data/README.md
CHANGED
@@ -20,7 +20,7 @@ Example screenshots of the generated app:
|
|
20
20
|
## Pre-requisites
|
21
21
|
|
22
22
|
1. Git.
|
23
|
-
2. A supported database: PostgreSQL (recommended), MySQL v5.
|
23
|
+
2. A supported database: PostgreSQL (recommended), MySQL v5.7+, or SQLite.
|
24
24
|
3. Ruby 2.3+.
|
25
25
|
|
26
26
|
## Usage
|
@@ -83,9 +83,6 @@ module ThreddedCreateApp
|
|
83
83
|
) do |op|
|
84
84
|
flags = Flags.new(op, options)
|
85
85
|
|
86
|
-
flags.bool :auto_confirm, '-y', 'Auto-confirm all prompts'
|
87
|
-
flags.bool :simple_form, '--[no-]simple-form', 'Use simple_form'
|
88
|
-
|
89
86
|
db_adapters = %i(postgresql mysql2 sqlite3)
|
90
87
|
op.on '--database DATABASE', db_adapters,
|
91
88
|
"The database adapter, one of: #{db_adapters.join(', ')} " \
|
@@ -93,19 +90,21 @@ module ThreddedCreateApp
|
|
93
90
|
options[:database] = v.to_sym
|
94
91
|
end
|
95
92
|
|
96
|
-
flags.bool :
|
93
|
+
flags.bool :simple_form, '--[no-]simple-form', 'Use simple_form'
|
97
94
|
|
95
|
+
op.separator "\nOther options:"
|
96
|
+
flags.bool :start_server, '--[no-]start-server', 'Start the app server'
|
98
97
|
flags.bool :install_gem_bundler_rails,
|
99
98
|
'--[no-]install-gem-bundler-rails',
|
100
99
|
'Run `gem update --system and `gem install bundler rails`'
|
101
|
-
|
100
|
+
flags.bool :auto_confirm, '-y', 'Auto-confirm all prompts'
|
101
|
+
flags.bool :verbose, '--verbose', 'Verbose output' do
|
102
|
+
@verbose = true
|
103
|
+
end
|
102
104
|
op.on '-v', '--version', 'Print the version' do
|
103
105
|
puts ThreddedCreateApp::VERSION
|
104
106
|
exit
|
105
107
|
end
|
106
|
-
flags.bool :verbose, '--verbose', 'Verbose output' do
|
107
|
-
@verbose = true
|
108
|
-
end
|
109
108
|
op.on '-h', '--help', 'Show this message' do
|
110
109
|
STDERR.puts op
|
111
110
|
exit
|
@@ -63,14 +63,14 @@ module ThreddedCreateApp
|
|
63
63
|
File.write path, src
|
64
64
|
end
|
65
65
|
|
66
|
-
def add_route(route_str,
|
66
|
+
def add_route(route_str, prepend: false)
|
67
67
|
log_verbose "Add route: #{route_str}"
|
68
68
|
inject_into_file 'config/routes.rb',
|
69
|
-
content: " #{route_str}
|
70
|
-
**(if
|
69
|
+
content: "#{"\n" unless prepend} #{route_str}",
|
70
|
+
**(if prepend
|
71
71
|
{ after: /\.routes\.draw do\s*\n/m }
|
72
72
|
else
|
73
|
-
{ before:
|
73
|
+
{ before: /\nend\n\z/ }
|
74
74
|
end)
|
75
75
|
end
|
76
76
|
|
@@ -10,7 +10,7 @@ module ThreddedCreateApp
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def summary
|
13
|
-
"Create Rails app #{app_name.inspect} with
|
13
|
+
"Create Rails app #{app_name.inspect} with #{rails_database} and rspec"
|
14
14
|
end
|
15
15
|
|
16
16
|
def before_bundle
|
@@ -18,10 +18,9 @@ module ThreddedCreateApp
|
|
18
18
|
run 'gem update --system --no-document --quiet'
|
19
19
|
run 'gem install bundler rails --no-document'
|
20
20
|
end
|
21
|
-
rails_database_arg = { mysql2: :mysql }.fetch(@database, @database)
|
22
21
|
# I have no idea why this bundle exec is necessary on Travis.
|
23
22
|
run "#{'bundle exec ' if ENV['TRAVIS']}" \
|
24
|
-
"rails new . --skip-bundle --database=#{
|
23
|
+
"rails new . --skip-bundle --database=#{rails_database} " \
|
25
24
|
"--skip-test#{verbose? ? ' --verbose' : ' --quiet'}"
|
26
25
|
replace 'Gemfile', /gem 'sass-rails'.*$/, "gem 'sassc-rails'"
|
27
26
|
add_gem 'rspec-rails', groups: %i(test)
|
@@ -33,6 +32,12 @@ module ThreddedCreateApp
|
|
33
32
|
run_generator 'rspec:install'
|
34
33
|
git_commit 'rails g rspec:install'
|
35
34
|
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
def rails_database
|
39
|
+
{ mysql2: :mysql }.fetch(@database, @database)
|
40
|
+
end
|
36
41
|
end
|
37
42
|
end
|
38
43
|
end
|
@@ -105,6 +105,12 @@ module ThreddedCreateApp
|
|
105
105
|
'data-turbolinks-track': 'reload' %>
|
106
106
|
ERB
|
107
107
|
|
108
|
+
inject_into_file 'app/views/layouts/application.html.erb',
|
109
|
+
before: '</head>',
|
110
|
+
content: <<-'ERB'
|
111
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
112
|
+
ERB
|
113
|
+
|
108
114
|
replace 'app/views/layouts/application.html.erb',
|
109
115
|
%r{<body>.*?</body>}m,
|
110
116
|
File.read(
|
@@ -124,7 +130,11 @@ module ThreddedCreateApp
|
|
124
130
|
def show
|
125
131
|
@user = User.find(params[:id])
|
126
132
|
RUBY
|
127
|
-
|
133
|
+
# The route must be defined after `devise_for`.
|
134
|
+
# The route is injected before Thredded in case Thredded is mount at /.
|
135
|
+
inject_into_file 'config/routes.rb',
|
136
|
+
before: /^\s*mount Thredded::Engine/,
|
137
|
+
content: indent(2, <<~'RUBY')
|
128
138
|
resources :users, only: [:show]
|
129
139
|
RUBY
|
130
140
|
end
|
@@ -132,7 +142,7 @@ module ThreddedCreateApp
|
|
132
142
|
def add_home_page
|
133
143
|
run_generator 'controller home show' \
|
134
144
|
' --no-assets --no-helper --skip-routes'
|
135
|
-
add_route <<~'RUBY',
|
145
|
+
add_route <<~'RUBY', prepend: true
|
136
146
|
root to: 'home#show'
|
137
147
|
RUBY
|
138
148
|
copy_template 'setup_app_skeleton/home_show.html.erb.erb',
|
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.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gleb Mazovetskiy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: term-ansicolor
|