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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0a440b54c995a4acc228ea80bc49543584a7ace8
4
- data.tar.gz: 783a3ef4755e06a4e49d99ce951a56c96c247195
3
+ metadata.gz: 8321129255513f386fad12a0d97ee42921986331
4
+ data.tar.gz: 191f06d32b4a785fc7247f4727a680a813e6255f
5
5
  SHA512:
6
- metadata.gz: 9c531f266980d0071259f18c46093356931dd95da360a5f33a64106955789a46acba83d028d26568a74ece981f4d78115a26f0644e8eff4e778cdda963c4c52e
7
- data.tar.gz: 7879d3b6eece4346ea7cc797950f56006cc4f6ff2d39a89a7307c727491dd45f696796cf5afeee34c68c5cf66636eb3cf59d1f94207f68b1ed010026c104800d
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.6.4+, or SQLite.
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 :start_server, '--[no-]start-server', 'Start the app server'
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, append: false)
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}\n",
70
- **(if append
69
+ content: "#{"\n" unless prepend} #{route_str}",
70
+ **(if prepend
71
71
  { after: /\.routes\.draw do\s*\n/m }
72
72
  else
73
- { before: /end\n\z/ }
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 postgresql and rspec"
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=#{rails_database_arg} " \
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
- add_route <<~'RUBY'
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', append: true
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',
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module ThreddedCreateApp
3
- VERSION = '0.1.2'
3
+ VERSION = '0.1.3'
4
4
  end
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.2
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-18 00:00:00.000000000 Z
11
+ date: 2016-11-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: term-ansicolor