astyle drops Ruby 1.9+ hash keys, and indents code way too deep as a result.
Configuration:
$ cat .astylerc # ln -s .../.astylerc $HOME/.astylerc --style=google --lineend=linux --indent=spaces=2 --add-brackets --align-pointer=middle --align-reference=name --max-code-length=80 --pad-oper --unpad-paren
Original:
$ cat Rakefile task :default => :lint task :ruby => [] do begin sh 'find . -name \'*.rb\' -exec \ ruby -wc {} 2>&1 \; | \ grep -v "Syntax OK" | \ grep -v openssl | \ grep -v rubygems; \ done' rescue end end task :reek => [] do sh 'bundle exec reek -q .; true' end task :flay => [] do sh 'bundle exec flay .' end task :roodi => [] do sh 'bundle exec roodi -config=roodi.yml *.rb **/*.rb' end task :cane => [] do sh 'bundle exec cane -f *.rb; bundle exec cane **/*.rb' end task :excellent => [] do sh 'bundle exec excellent .' end task :rubocop => [] do sh 'bundle exec rubocop **/*.rb **/*.erb **/Guardfile*' end task :tailor => [] do sh 'bundle exec tailor' end task :cowl => [] do sh 'cowl .' end task :gtdlint => [] do sh 'gtdlint .' end task :lili => [] do sh 'bundle exec lili .' end task :editorconfig=> [] do sh 'find . -type f -name Thumbs.db -prune -o -type f -name .DS_Store -prune -o -type d -name .git -prune -o -type f -name .gitmodules -prune -o -type d -name .hg -prune -o -type d -name .svn -prune -o -type d -name tmp -prune -o -type d -name bin -prune -o -type d -name target -prune -o -name "*.app*" -prune -o -type d -name node_modules -prune -o -type d -name bower_components -prune -o -type f -name "*[-.]min.js" -prune -o -type d -name "*.dSYM" -prune -o -type f -name "*.scpt" -prune -o -type d -name "*.xcodeproj" -prune -o -type d -name .vagrant -prune -o -type f -name .exe -prune -o -type f -name "*.o" -prune -o -type f -name "*.pyc" -prune -o -type f -name "*.hi" -prune -o -type f -name "*.beam" -prune -o -type f -name "*.png" -prune -o -type f -name "*.gif" -prune -o -type f -name "*.jp*g" -prune -o -type f -name "*.ico" -prune -o -type f -name "*.ttf" -prune -o -type f -name "*.zip" -prune -o -type f -name "*.jar" -prune -o -type f -name "*.dot" -prune -o -type f -name "*.pdf" -prune -o -type f -name "*.wav" -prune -o -type f -name "*.mp[34]" -prune -o -type f -name "*.svg" -prune -o -type f -name "*.flip" -prune -o -type f -name "*.class" -prune -o -type f -name "*.cmi" -prune -o -type f -name "*.cmo" -prune -o -type f -name "*.gem" -prune -o -type f -name "*.jad" -prune -o -type d -name .idea -prune -o -type f -name "*.iml" -prune -o -type f -name "*.log" -prune -o -type f -name "*" -exec node_modules/editorconfig-tools/bin/index.js check {} \\;' end task :lint => [ :ruby, :reek, :flay, :roodi, :cane, :excellent, :rubocop, :tailor, :cowl, :gtdlint, :lili, :editorconfig ] do end
Trace:
$ astyle < Rakefile task : default => : lint task : ruby => [] do begin sh 'find . -name \'*.rb\' -exec \ ruby -wc {} 2>&1 \; | \ grep -v "Syntax OK" | \ grep -v openssl | \ grep -v rubygems; \ done' rescue end end task : reek => [] do sh 'bundle exec reek -q .; true' end task : flay => [] do sh 'bundle exec flay .' end task : roodi => [] do sh 'bundle exec roodi -config=roodi.yml *.rb **/*.rb' end task : cane => [] do sh 'bundle exec cane -f *.rb; bundle exec cane **/*.rb' end task : excellent => [] do sh 'bundle exec excellent .' end task : rubocop => [] do sh 'bundle exec rubocop **/*.rb **/*.erb **/Guardfile*' end task : tailor => [] do sh 'bundle exec tailor' end task : cowl => [] do sh 'cowl .' end task : gtdlint => [] do sh 'gtdlint .' end task : lili => [] do sh 'bundle exec lili .' end task : editorconfig => [] do sh 'find . -type f -name Thumbs.db -prune -o -type f -name .DS_Store -prune -o -type d -name .git -prune -o -type f -name .gitmodules -prune -o -type d -name .hg -prune -o -type d -name .svn -prune -o -type d -name tmp -prune -o -type d -name bin -prune -o -type d -name target -prune -o -name "*.app*" -prune -o -type d -name node_modules -prune -o -type d -name bower_components -prune -o -type f -name "*[-.]min.js" -prune -o -type d -name "*.dSYM" -prune -o -type f -name "*.scpt" -prune -o -type d -name "*.xcodeproj" -prune -o -type d -name .vagrant -prune -o -type f -name .exe -prune -o -type f -name "*.o" -prune -o -type f -name "*.pyc" -prune -o -type f -name "*.hi" -prune -o -type f -name "*.beam" -prune -o -type f -name "*.png" -prune -o -type f -name "*.gif" -prune -o -type f -name "*.jp*g" -prune -o -type f -name "*.ico" -prune -o -type f -name "*.ttf" -prune -o -type f -name "*.zip" -prune -o -type f -name "*.jar" -prune -o -type f -name "*.dot" -prune -o -type f -name "*.pdf" -prune -o -type f -name "*.wav" -prune -o -type f -name "*.mp[34]" -prune -o -type f -name "*.svg" -prune -o -type f -name "*.flip" -prune -o -type f -name "*.class" -prune -o -type f -name "*.cmi" -prune -o -type f -name "*.cmo" -prune -o -type f -name "*.gem" -prune -o -type f -name "*.jad" -prune -o -type d -name .idea -prune -o -type f -name "*.iml" -prune -o -type f -name "*.log" -prune -o -type f -name "*" -exec node_modules/editorconfig-tools/bin/index.js check {} \\;' end task : lint => [ :ruby, :reek, :flay, :roodi, :cane, :excellent, :rubocop, :tailor, :cowl, :gtdlint, :lili, :editorconfig ] do end
I get the impression that astyle is only meant to format C-family code, not Ruby code.
Feel free to close this.
Artistic Style supports r C, C++, C++/CLI, Objective‑C, C#, and Java Source Code.