Most starter app projects end up as abandonware as Rails changes so it's good to see a new app template offered for Rails 4.0. Starter apps always produce a great discussion about must-have gems.
For development I have become cracked out on these for all of my apps
group :development do
gem 'better_errors' #literally what it says
gem 'binding_of_caller' #adds REPL to better_errors
gem 'quiet_assets' #prevent asset pipeline log doesnt go to console
gem 'guard-livereload' #adds live reload
gem 'rack-livereload'
gem 'meta_request' #chrome rails panel extension
end
I wrote a gem, exception_details, that captures variable values at exception time. It gets you some pry-ish type detail, but you can use it on background jobs, etc. Might be useful for your toolbox...
Yeah, personal choice, but I've had a lot of problems with rails "require_tree" in the past. Some gems add files to your code that shouldn't be required. ActiveAdmin is an example of that (though I think they've fixed that lately). To clarify, this is not about the "require" directives, only the "require_tree"
You can view the files in the html script includes while in development mode. It just feels wrong to me to do this manually. I have written the infrastructure code to handle javascript minification and compression. Not having to manage a script order file is one of the best parts of the asset pipeline.
Yeah, maybe I should give the asset pipeline another try. I started the habit of including files manually when it was first launched and was quite buggy. Ryan Bates from Railscasts also seems to prefer including his assets manually, he mentioned that in some of his screencasts. I kinda stole the habit from him.
I'll give the asset pipeline another try the next time...
Personal taste I guess, I'm always happy to specify my requires manually so I have a better idea and more control over what's going on, makes things more obvious for other developers reading your code too.
Nice template, looks like an opinionated one . I see you have used ".env" file. I read somewhere when opensourcing apps its better to have all the env variables in .env, instead of using gem like https://github.com/laserlemon/figaro.
I just love GitHub. Followed the link, noticed that certain links were highlighted as links but not working. Went to the README, edited the broken links, sent a pull request [1], and now it works as expected. Everything done without having to leave "browsing mode", i.e. no cloning, no terminal, no editor.
So, I did something similar, and I found that one of my least favorite things was going into the browser to create and link the github repo. Using the octokit gem, I automated that part. Feel free to swipe some code from my gist:
That's great, thanks! I hate creating the github repo as well (sometimes I skip that part and just use Heroku). If you don't mind I'll copy some of your code and make creating a github repo another optional prompt.
I noticed that suspenders(thoughtbot) also had that option. They used hub, which I think is a bit more intrusive than just installing the octokit gem. I'm interested to see what you come up with! :)
In my opinion Slim is superior to Haml. I used to love Haml, but Slim takes it to the next level. A syntax with less control characters and a higher performance [1] made me switch.
I still haven't heard a single argument for writing pure HTML instead of Haml/Slim. Even for static HTML I use Slim.
I know this would become a debate, haha. HAML has definitely disadvantages, ERB is indeed nicer if you need to write a lot of nested tags, or stuff like strong, small, etc. Still I've found it's more pleasant to work with... But that's just personal taste and I should probably make it optional.
Coffeescript is really nice, though it can sometimes be a pain to debug. Haml is more succinct than HTML and I like the forced tab alignment. The problem is I almost never write view code that does not need to immediately be debugged in the browser. So I have to pay a mental tax to transform it nearly every time I write it.
http://slim-lang.com/