On Tuesday, June 10, 2014 at 3:13 PM, Pier-Olivier Thibault wrote:

> I agree with Michael with 2 and 4.
> >  
> > 2. Combine `boot.rb` and `environment.rb`. I'll be the first to admit I 
> > don't understand the Rails boot process as well as I wish, and there may be 
> > implications to this I don't understand. But in my informal testing, moving 
> > the contents of one file to another works just fine, and I personally 
> > having trouble seeing the distinction between the two.
> >  
> Combining boot.rb and environment.rb (and possibly application.rb) would make 
> it easier for people to understand the booting process. boot.rb is actually 
> misleading since rails 4 (and 3?) since this is not booting anything. 
> application.rb could wrap all of this.
>  
> 4. Move binstubs logic into the Rails gem executables. I haven't played 
> around with this yet and could be wrong, but I don't see why these files need 
> to be added to every app, when their logic could simply be included in the 
> rails/rake/bundle/spring gem executables.
> Yes! The logic could very well live in the gem.
>  
> I have actually made a github repository last week that highlighted what I 
> had in mind: https://github.com/pothibo/rails-flattened (bin/ folder is still 
> present since that path is hardcoded in rails' gem). I believe that with 
> Rails 5, a new folder structure should be promoted that would be lighter and 
> easier to understand for someone not used to Rails. ...........
>  
> I guess we could tweak this repo and try to find a right structure, if people 
> are willing?
How would you execute the rails binary without using `bundle exec` within an 
application? Wouldn't that defeat the purpose of binstubs? Rails isn’t 
installed on anything but our development machines outside of bundler.
>  
>  
> On Monday, June 9, 2014 7:42:50 PM UTC-4, Ryan Bigg wrote:
> > Replies inline.
> >  
> >  
> > On 29 May 2014 14:35, Michael Kaiser-Nyman <micha...@gmail.com 
> > (javascript:)> wrote:
> > > Hello! I teach quite a few people Rails through my class, Epicodus. One 
> > > thing I've noticed is that the sheer number of files and folders `rails 
> > > new` generates is pretty intimidating for newcomers to Rails. I'd like to 
> > > make a few suggestions to how to reduce that intimidation.
> > >  
> > > 1. Don't create the `tmp` and `log` folders. These are automatically 
> > > created when `rails server` runs for the first time, so there's no reason 
> > > `rails new` needs to generate them.  
> >  
> > A quick explanation here that explains these folders is all that is 
> > required. The newbies can learn more about these as they come up. Tell them 
> > that it's safe to ignore these files for now.  
> > >  
> > >  
> > > 2. Combine `boot.rb` and `environment.rb`. I'll be the first to admit I 
> > > don't understand the Rails boot process as well as I wish, and there may 
> > > be implications to this I don't understand. But in my informal testing, 
> > > moving the contents of one file to another works just fine, and I 
> > > personally having trouble seeing the distinction between the two.  
> >  
> > Quick summary: bin/rails loads boot.rb, which tells Bundler to setup the 
> > load paths for the gems in the Gemfile (including Rails itself). The main 
> > purpose of this file is to set up the load paths for bin/rails, and allows 
> > Rails to use something other than Bundler if people are crazy enough.  
> >  
> > That file then loads rails/command which processes the args passed to 
> > "rails", which *can* lead it to loading config/environment.rb. Here's the 
> > stack trace: https://gist.github.com/anonymous/67ec70f672e6e9fba187.  
> >  
> > Combining boot.rb and environment.rb is not a good idea imo, because these 
> > two files serve their purposes well: one sets up the load paths, the other 
> > sets up the Rails application's environment. Slightly different, but 
> > important distinctions to make.   
> >  
> > >  
> > >  
> > > 3. Remove internationalization by default. I could be totally off-base, 
> > > but this feels like a feature that probably isn't used by a majority of 
> > > apps, and could easily be added by more experienced developers who need 
> > > it (and a Rails generator could be built to easily re-install it).  
> >  
> > I18n is an important feature to have and if you don't want to use it then 
> > you just don't. It's opt-in and newbies can get away without even referring 
> > to it during their first apps; just like what happens during the entire 
> > ~600 pages of Rails 4 in Action.
> > >  
> > >  
> > > 4. Move binstubs logic into the Rails gem executables. I haven't played 
> > > around with this yet and could be wrong, but I don't see why these files 
> > > need to be added to every app, when their logic could simply be included 
> > > in the rails/rake/bundle/spring gem executables.  
> >  
> > I am not sure what you're suggesting here. Could you elaborate?  
> >  
> --  
> 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 rubyonrails-core+unsubscr...@googlegroups.com 
> (mailto:rubyonrails-core+unsubscr...@googlegroups.com).
> To post to this group, send email to rubyonrails-core@googlegroups.com 
> (mailto:rubyonrails-core@googlegroups.com).
> Visit this group at http://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 rubyonrails-core+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-core@googlegroups.com.
Visit this group at http://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.

Reply via email to