Interactive `rails new`

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Interactive `rails new`

Viktor Fonic
Hi,

Every time I run `rails new`, I need to pull out the command I use (and maybe even the template as well). The command I currently use looks like this:
$ rails new magic --database=postgresql --skip-coffee --skip-turbolinks --skip-test --skip-system-test --webpack=react

On the other hand (and I know I'm comparing apples and oranges here), here's what happens when I run `npm init`:
$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (asd)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to /Users/vfonic/Developer/javascript/asd/package.json:

{
  "name": "asd",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this OK? (yes)


Bold are prompts, with sensible defaults in the (brackets).

Wouldn't it be great if rails had something similar? Imagine gems attaching directly to the `rails new` and immediately installing and setting up even before you `cd` to your app! If not, at least I'll be able to skip all the flags I want to skip, by going through the interactive `rails new`.

If you prefer the simplicity of `rails new` and would like to keep it, we could add a single "Y/n" prompt before all the others:
Create new app with sensible defaults Y/n:

What do you think?

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Interactive `rails new`

Andrew Kaspick
+1 Nice idea.

On Mon, Jun 4, 2018 at 5:37 AM Viktor Fonic <[hidden email]> wrote:
Hi,

Every time I run `rails new`, I need to pull out the command I use (and maybe even the template as well). The command I currently use looks like this:
$ rails new magic --database=postgresql --skip-coffee --skip-turbolinks --skip-test --skip-system-test --webpack=react

On the other hand (and I know I'm comparing apples and oranges here), here's what happens when I run `npm init`:
$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (asd)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to /Users/vfonic/Developer/javascript/asd/package.json:

{
  "name": "asd",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this OK? (yes)


Bold are prompts, with sensible defaults in the (brackets).

Wouldn't it be great if rails had something similar? Imagine gems attaching directly to the `rails new` and immediately installing and setting up even before you `cd` to your app! If not, at least I'll be able to skip all the flags I want to skip, by going through the interactive `rails new`.

If you prefer the simplicity of `rails new` and would like to keep it, we could add a single "Y/n" prompt before all the others:
Create new app with sensible defaults Y/n:

What do you think?

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Interactive `rails new`

Emanuel Hayford
In reply to this post by Viktor Fonic
+1 I like this idea :)

On Monday, June 4, 2018 at 11:37:48 AM UTC+2, Viktor Fonic wrote:
Hi,

Every time I run `rails new`, I need to pull out the command I use (and maybe even the template as well). The command I currently use looks like this:
$ rails new magic --database=postgresql --skip-coffee --skip-turbolinks --skip-test --skip-system-test --webpack=react

On the other hand (and I know I'm comparing apples and oranges here), here's what happens when I run `npm init`:
$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (asd)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to /Users/vfonic/Developer/javascript/asd/package.json:

{
  "name": "asd",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this OK? (yes)


Bold are prompts, with sensible defaults in the (brackets).

Wouldn't it be great if rails had something similar? Imagine gems attaching directly to the `rails new` and immediately installing and setting up even before you `cd` to your app! If not, at least I'll be able to skip all the flags I want to skip, by going through the interactive `rails new`.

If you prefer the simplicity of `rails new` and would like to keep it, we could add a single "Y/n" prompt before all the others:
Create new app with sensible defaults Y/n:

What do you think?

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Interactive `rails new`

Rolandas Barysas
I think it would be against the idea of convention over configuration. You can create an alias if you use those flags all the time.


On Tue, Jul 17, 2018, at 02:32, Emanuel Hayford wrote:
+1 I like this idea :)

On Monday, June 4, 2018 at 11:37:48 AM UTC+2, Viktor Fonic wrote:
Hi,

Every time I run `rails new`, I need to pull out the command I use (and maybe even the template as well). The command I currently use looks like this:
$ rails new magic --database=postgresql --skip-coffee --skip-turbolinks --skip-test --skip-system-test --webpack=react

On the other hand (and I know I'm comparing apples and oranges here), here's what happens when I run `npm init`:
$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (asd)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to /Users/vfonic/Developer/javascript/asd/package.json:

{
  "name": "asd",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this OK? (yes)


Bold are prompts, with sensible defaults in the (brackets).

Wouldn't it be great if rails had something similar? Imagine gems attaching directly to the `rails new` and immediately installing and setting up even before you `cd` to your app! If not, at least I'll be able to skip all the flags I want to skip, by going through the interactive `rails new`.

If you prefer the simplicity of `rails new` and would like to keep it, we could add a single "Y/n" prompt before all the others:
Create new app with sensible defaults Y/n:

What do you think?


--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Interactive `rails new`

Leonardo Prado
+1 for the idea.

But I would put it behind some flag, like `rails new --interactive`. This way we'll still have the default "convention over configuration" and add an option for when you need to add more configuration.


Em ter, 17 de jul de 2018 05:17, Rolandas Barysas <[hidden email]> escreveu:
I think it would be against the idea of convention over configuration. You can create an alias if you use those flags all the time.


On Tue, Jul 17, 2018, at 02:32, Emanuel Hayford wrote:
+1 I like this idea :)

On Monday, June 4, 2018 at 11:37:48 AM UTC+2, Viktor Fonic wrote:
Hi,

Every time I run `rails new`, I need to pull out the command I use (and maybe even the template as well). The command I currently use looks like this:
$ rails new magic --database=postgresql --skip-coffee --skip-turbolinks --skip-test --skip-system-test --webpack=react

On the other hand (and I know I'm comparing apples and oranges here), here's what happens when I run `npm init`:
$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (asd)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to /Users/vfonic/Developer/javascript/asd/package.json:

{
  "name": "asd",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this OK? (yes)


Bold are prompts, with sensible defaults in the (brackets).

Wouldn't it be great if rails had something similar? Imagine gems attaching directly to the `rails new` and immediately installing and setting up even before you `cd` to your app! If not, at least I'll be able to skip all the flags I want to skip, by going through the interactive `rails new`.

If you prefer the simplicity of `rails new` and would like to keep it, we could add a single "Y/n" prompt before all the others:
Create new app with sensible defaults Y/n:

What do you think?


--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Interactive `rails new`

Xavier Noria
The application generator has about 25 options, I believe an interactive mode wouldn't be practical.

I second Rolandas' suggestion: make your own shortcut.

For example, I often want to create a vanilla application to test something quickly, --skip-bundle is the key there.  I have a Bash function for that called "rn" that does this:

    rails new $app_name --skip-bundle "$@" && \
  cd $app_name && \
  bundle install --local

Since a Bash function can change the $PWD, I am even left at the app's root directory.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Interactive `rails new`

Kevin Deisz
You can also just use the .railsrc file from your home directory to specify those args every time.


On Sat, Aug 4, 2018 at 5:24 AM Xavier Noria <[hidden email]> wrote:
The application generator has about 25 options, I believe an interactive mode wouldn't be practical.

I second Rolandas' suggestion: make your own shortcut.

For example, I often want to create a vanilla application to test something quickly, --skip-bundle is the key there.  I have a Bash function for that called "rn" that does this:

    rails new $app_name --skip-bundle "$@" && \
  cd $app_name && \
  bundle install --local

Since a Bash function can change the $PWD, I am even left at the app's root directory.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.


--
Kevin D. Deisz

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
Visit this group at https://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.