zsh_dots 0.5.0

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.
Files changed (70) hide show
  1. data/.gitignore +25 -0
  2. data/.gitmodules +3 -0
  3. data/.rvmrc +47 -0
  4. data/Gemfile +7 -0
  5. data/Gemfile.lock +38 -0
  6. data/README.md +115 -0
  7. data/Rakefile +9 -0
  8. data/bin/dots +7 -0
  9. data/bin/elocal_nightly.sh +12 -0
  10. data/bin/gbrt +42 -0
  11. data/bin/git_cwd_info +40 -0
  12. data/bin/lein +229 -0
  13. data/bin/reattach-to-user-namespace +0 -0
  14. data/bin/ssh-copy-id +54 -0
  15. data/bin/stock +83 -0
  16. data/config/.dot_file +1 -0
  17. data/config/aws +0 -0
  18. data/config/example.aws.zsh +13 -0
  19. data/config/gemrc +9 -0
  20. data/config/gitconfig +46 -0
  21. data/config/railsrc +2 -0
  22. data/config/rspec +2 -0
  23. data/config/rvmrc +1 -0
  24. data/config/screenrc +1 -0
  25. data/config/tmux.conf +6 -0
  26. data/config/zlogin +1 -0
  27. data/config/zshenv +59 -0
  28. data/config/zshrc +8 -0
  29. data/etc/mandlebrot.c +59 -0
  30. data/etc/rails/composer.yml +30 -0
  31. data/etc/rails/ember_template.rb +60 -0
  32. data/etc/rails/recipes/haml_views.rb +20 -0
  33. data/etc/rails/recipes/html5.rb +84 -0
  34. data/etc/rails/recipes/readme_markdown.rb +87 -0
  35. data/etc/rails/template.rb +1419 -0
  36. data/lib/dots/aliases.zsh +40 -0
  37. data/lib/dots/directories.zsh +28 -0
  38. data/lib/dots/functions.zsh +41 -0
  39. data/lib/dots/plugins.zsh +18 -0
  40. data/lib/dots.sh +11 -0
  41. data/lib/plugins/aws/aws.plugin.zsh +20 -0
  42. data/lib/plugins/bundler/_bundler +82 -0
  43. data/lib/plugins/bundler/bundler.plugin.zsh +7 -0
  44. data/lib/plugins/git/git.plugin.zsh +126 -0
  45. data/lib/plugins/git-flow/git-flow.plugin.zsh +340 -0
  46. data/lib/plugins/knife/_knife +183 -0
  47. data/lib/plugins/knife/knife.plugin.zsh +1 -0
  48. data/lib/plugins/macvim/macvim.plugin.zsh +13 -0
  49. data/lib/plugins/osx/_man-preview +5 -0
  50. data/lib/plugins/osx/osx.plugin.zsh +101 -0
  51. data/lib/plugins/rails3/rails3.plugin.zsh +75 -0
  52. data/lib/plugins/rake/rake.plugin.zsh +6 -0
  53. data/lib/plugins/ruby/ruby.plugin.zsh +58 -0
  54. data/lib/ruby/dots/command.rb +58 -0
  55. data/lib/ruby/dots/dot_file.rb +73 -0
  56. data/lib/ruby/dots/version.rb +3 -0
  57. data/lib/ruby/dots.rb +9 -0
  58. data/lib/tasks/db.rake +55 -0
  59. data/lib/tasks/dots.rake +32 -0
  60. data/spec/integration/command_spec.rb +34 -0
  61. data/spec/models/dot_file_spec.rb +45 -0
  62. data/spec/spec_helper.rb +6 -0
  63. data/vendor/antigen.zsh +251 -0
  64. data/vendor/oh-my-zsh/check_for_upgrade.sh +45 -0
  65. data/vendor/oh-my-zsh/install.sh +43 -0
  66. data/vendor/oh-my-zsh/require_tool.sh +161 -0
  67. data/vendor/oh-my-zsh/uninstall.sh +20 -0
  68. data/vendor/oh-my-zsh/upgrade.sh +6 -0
  69. data/zsh_dots.gemspec +28 -0
  70. metadata +163 -0
data/bin/stock ADDED
@@ -0,0 +1,83 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # = Stock
4
+ #
5
+ # Given a key/value pair of a stock symbol and how many shares you own, this
6
+ # program will spit out the yearly dividend amounts you will yield from holding
7
+ # it. Based on data from Yahoo! Finance.
8
+ #
9
+ # == Installation
10
+ # Install to ~/bin and run
11
+ # => <tt>chmod 777 stock</tt>
12
+ #
13
+ # Then edit your Shell config so that executables can be loaded from `~/bin`...
14
+ # => <tt>export PATH = $HOME/bin:$PATH</tt>
15
+ #
16
+ # Reload your shell with `source ~/.profile` and type
17
+ # => <tt>stock T=100</tt>
18
+ # to see how much you'll be making yearly through dividends.
19
+ #
20
+ # Author:: Tom Scott
21
+ # Homepage:: http://tinyurl.com/div-yield
22
+
23
+ require 'net/http'
24
+ require 'bigdecimal'
25
+
26
+ symbols_arr = Array.new
27
+ shares_of = {}
28
+
29
+ # A small function that shows the user how to use `stock`, then exits with error code=1
30
+ def usage(msg)
31
+ if msg
32
+ puts msg
33
+ puts "-----------------------------------------------------------------"
34
+ end
35
+ puts "Usage: stock {symbol}={shares} - prints out the current price and"
36
+ puts "yearly dividend yield in USD, based on how many shares you own."
37
+ exit 1
38
+ end
39
+
40
+ unless ARGV.empty?
41
+ ARGV.each do |arg|
42
+ unless arg == ''
43
+ arg_arr = arg.split '='
44
+ symbol = arg_arr[0]
45
+ shares_of[symbol] = arg_arr[1].to_i
46
+ symbols_arr.push(symbol)
47
+ end
48
+ end
49
+
50
+ symbols = symbols_arr.join '+'
51
+ opts = 'syl9'
52
+ url = "http://download.finance.yahoo.com/d/quotes.csv?s=#{symbols}&f=#{opts}"
53
+ values = Net::HTTP.get URI(url)
54
+ stocks = values.split "\n"
55
+
56
+ unless stocks.empty?
57
+ stocks.each do |stock_str|
58
+ # raw data
59
+ stock = stock_str.split ','
60
+ symbol = stock[0].split('"').join('')
61
+ shares_of_stock = BigDecimal.new(shares_of[symbol].to_s)
62
+ dividend = stock[1].to_f
63
+ price = stock[2].to_f
64
+
65
+ if shares_of_stock > 0
66
+ # calculations
67
+ div_per_share = (price*dividend/100).round(2)
68
+ div_yield = (div_per_share*shares_of_stock).round(2)
69
+
70
+ # presentation
71
+ puts "#{symbol}:\t$#{div_yield}/year\t\t(@ #{div_per_share}/share)"
72
+ else
73
+ usage("You must specify more than 0 shares of #{symbol}.")
74
+ end
75
+ end
76
+ exit 0
77
+ else
78
+ symbols_str = symbols_arr.join ' '
79
+ usage("Search query failed for stocks #{symbols_str}.")
80
+ end
81
+ else
82
+ usage("No arguments specified.")
83
+ end
data/config/.dot_file ADDED
@@ -0,0 +1 @@
1
+ This is my config
data/config/aws ADDED
File without changes
@@ -0,0 +1,13 @@
1
+ # Put your AWS credentials here so they can be picked up by EC2 API/AMI
2
+ # tools.
3
+
4
+ # For AWS command-line tools
5
+ export AWS_ACCESS_KEY=""
6
+ export AWS_SECRET_KEY=""
7
+
8
+ # For AWS SDK
9
+ export AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY
10
+ export AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY
11
+ export KNIFE_USER_NAME=''
12
+ export AWS_SSH_KEY_ID=''
13
+
data/config/gemrc ADDED
@@ -0,0 +1,9 @@
1
+ custom_shebang: $env ruby_bundler_wrapper
2
+ :verbose: true
3
+ :update_sources: true
4
+ :sources:
5
+ - http://gems.rubyforge.org/
6
+ :backtrace: false
7
+ :bulk_threshold: 1000
8
+ :benchmark: false
9
+ gem: --no-ri --no-rdoc
data/config/gitconfig ADDED
@@ -0,0 +1,46 @@
1
+ [user]
2
+ name = Tom Scott
3
+ email = tubbo@psychedeli.ca
4
+ [repo]
5
+ user = tubbo
6
+ [github]
7
+ user = tubbo
8
+ [alias]
9
+ ci = commit
10
+ st = status
11
+ on = branch
12
+ br = branch
13
+ co = checkout
14
+ # Log display from screencast, with train tracks.
15
+ l = log --graph --pretty=format':%C(yellow)%h%Cblue%d%Creset %s %C(white) %an, %ar%Creset'
16
+ # Alternate log display from Scott Chacon
17
+ lol = log --pretty=oneline --abbrev-commit --graph --decorate
18
+ # Other useful aliases:
19
+ unstage = reset HEAD
20
+ staged = diff --cached
21
+ unstaged = diff
22
+ current-branch = !git symbolic-ref -q HEAD | sed -e 's|^refs/heads/||'
23
+ # Usage: git track origin/feature-123-login-form
24
+ track = checkout -t
25
+ [apply]
26
+ whitespace = warn
27
+ [color]
28
+ diff = auto
29
+ status = auto
30
+ branch = auto
31
+ ui = true
32
+ [help]
33
+ autocorrect = 1
34
+ [status]
35
+ submodule = 1
36
+ [push]
37
+ # Only push branches that have been set up to track a remote branch.
38
+ default = current
39
+ [core]
40
+ editor = vim
41
+ [mergetool "mvimdiff"]
42
+ cmd = mvim -d -g $LOCAL $MERGED $REMOTE
43
+ trustExitCode = true
44
+ [merge]
45
+ tool = mvimdiff
46
+
data/config/railsrc ADDED
@@ -0,0 +1,2 @@
1
+ -m ~/.dots/etc/rails/template.rb --skip-bundle
2
+
data/config/rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format documentation
data/config/rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm_trust_rvmrcs_flag=1
data/config/screenrc ADDED
@@ -0,0 +1 @@
1
+ shell -${SHELL}
data/config/tmux.conf ADDED
@@ -0,0 +1,6 @@
1
+ set-option -g default-command "reattach-to-user-namespace -l zsh"
2
+
3
+ unbind % # remove default binding since replacing
4
+ bind v split-window -h
5
+ bind h split-window -v
6
+ bind s split-window -v
data/config/zlogin ADDED
@@ -0,0 +1 @@
1
+ [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
data/config/zshenv ADDED
@@ -0,0 +1,59 @@
1
+ # ZSH configuration for all shells.
2
+ #
3
+ # Environment variable definitions go here, but that's about it. All
4
+ # other definitions go into zshrc or lib/plugins.
5
+
6
+ # Set the path to our shell configuration.
7
+ ZSH=$HOME/.dots
8
+ DOTS=$ZSH
9
+
10
+ # Set our shell paths to load from all of the bin's on the machine.
11
+ GOPATH=$HOME/Code/Go
12
+ PATH=/usr/local/bin:/usr/local/sbin:/usr/local/share/npm/bin:/usr/local/Cellar/python/2.7.1/bin:/usr/local/git/bin:/usr/bin:$HOME/.dots/bin:$HOME/.rvm/bin:$GOPATH:$PATH
13
+ MANPATH=/opt/local/share/man:$MANPATH
14
+
15
+ # Text editing and paging
16
+ EDITOR='vim'
17
+ PAGER='less -R'
18
+
19
+ # A more basic version of my promptstring for non-interactive shells.
20
+ PROMPT="♬ "
21
+
22
+ # PostgreSQL config
23
+ ARCHFLAGS='-arch x86_64'
24
+ PGDATA=/usr/local/var/postgres
25
+
26
+ # Configure the MySQL prompt to show more information.
27
+ MYSQL_PS1="\R:\m:\s \h> "
28
+
29
+ # Define the C compiler as GCC 4.2
30
+ CC=/usr/local/bin/gcc-4.2
31
+
32
+ # Disable weekly automatic update.
33
+ DISABLE_AUTO_UPDATE="true"
34
+
35
+ # Don't set iTerm/Terminal's title automatically.
36
+ DISABLE_AUTO_TITLE="true"
37
+
38
+ # Display red dots when ZSH is hanging.
39
+ COMPLETION_WAITING_DOTS="true"
40
+
41
+ # Load the framework.
42
+ source "$ZSH/lib/dots.sh"
43
+
44
+ # Make Ruby even faster
45
+ RUBY_HEAP_MIN_SLOTS=1000000
46
+ RUBY_HEAP_SLOTS_INCREMENT=1000000
47
+ RUBY_HEAP_SLOTS_GROWTH_FACTOR=1
48
+ RUBY_GC_MALLOC_LIMIT=1000000000
49
+ RUBY_HEAP_FREE_MIN=500000
50
+
51
+ # Always use Bundler with RVM.
52
+ USE_BUNDLER=force
53
+
54
+ # Colorize Grep
55
+ export GREP_OPTIONS='--color=auto'
56
+ export GREP_COLOR='1;32'
57
+
58
+ # Load interactive shell settings
59
+ source ~/.zshrc
data/config/zshrc ADDED
@@ -0,0 +1,8 @@
1
+ # ZSH configuration for interactive shells.
2
+ #
3
+ # Basically sets up your PROMPT/RPROMPT strings with colors, so
4
+ # everything looks pretty.
5
+
6
+ local path_prompt="%{$reset_color%}%~"
7
+ PROMPT="%{$fg[white]%}♬ %{$reset_color%}"
8
+ RPROMPT="%{$fg[yellow]%}${path_prompt}"
data/etc/mandlebrot.c ADDED
@@ -0,0 +1,59 @@
1
+ #include <stdio.h>
2
+ #define GRID_SIZE 100
3
+ #define MAX_ITER 1000
4
+
5
+
6
+ int grid[GRID_SIZE][GRID_SIZE] = {0};
7
+
8
+ void printGrid(void) {
9
+ int i, j;
10
+ for(i = 0; i<GRID_SIZE; i++) {
11
+ for(j = 0; j<GRID_SIZE; j++) {
12
+ int iter = grid[i][j];
13
+ if(iter == -1) {
14
+ putchar(' ');
15
+ }
16
+ else if(iter < 20) {
17
+ putchar('/');
18
+ }
19
+ else if(iter < 50) {
20
+ putchar('^');
21
+ }
22
+ else if(iter < 100) {
23
+ putchar('/');
24
+ }
25
+ else {
26
+ putchar('(');
27
+ }
28
+ }
29
+ putchar('\n');
30
+ }
31
+
32
+ }
33
+
34
+ int main (void) {
35
+ int i, j, iter;
36
+
37
+ for(i = 0; i<GRID_SIZE; i++) {
38
+ for(j = 0; j<GRID_SIZE; j++) {
39
+ double x_0 = i/(GRID_SIZE/3.5)-2.5;
40
+ double y_0 = j/(GRID_SIZE/2.0)-1.0;
41
+ double x = 0, y = 0;
42
+
43
+ for (iter = 0; x*x + y*y < 4 && iter < MAX_ITER; iter++) {
44
+ double xtemp = x*x - y*y + x_0;
45
+ y = 2*x*y + y_0;
46
+ x = xtemp;
47
+ }
48
+
49
+ if(x*x + y*y < 4)
50
+ grid[i][j] = -1;
51
+ else {
52
+ grid[i][j] = iter;
53
+ }
54
+ }
55
+ }
56
+
57
+ printGrid();
58
+ return 0;
59
+ }
@@ -0,0 +1,30 @@
1
+ recipes:
2
+ - setup
3
+ - git
4
+ - readme_markdown
5
+ - gems
6
+ - testing
7
+ - auth
8
+ - models
9
+ - controllers
10
+ - views
11
+ - haml_views
12
+ - routes
13
+ - frontend
14
+ - html5
15
+
16
+ prefs:
17
+ :dev_webserver: thin
18
+ :prod_webserver: unicorn
19
+ :database: postgresql
20
+ :templates: haml
21
+ :unit_test: minitest
22
+ :integration: capybara
23
+ :fixtures: factory_girl
24
+ :frontend: bootstrap
25
+ :bootstrap: sass
26
+ :form_builder: simpleform
27
+ :email: gmail
28
+ :authentication: devise
29
+ :devise_modules: default
30
+ :authorization: none
@@ -0,0 +1,60 @@
1
+ # This script is designed to be used with Ruby on Rails' new project generator:
2
+ #
3
+ # rails new my_app -m http://emberjs.com/template.rb
4
+ #
5
+ # For more information about the template API, please see the following Rails
6
+ # guide:
7
+ #
8
+ # http://edgeguides.rubyonrails.org/rails_application_templates.html
9
+
10
+ run "rm public/index.html"
11
+
12
+ # Install required gems
13
+ gem "active_model_serializers"
14
+ gem_group :assets do
15
+ gem "ember-rails", github: "emberjs/ember-rails"
16
+ end
17
+
18
+ run "bundle install"
19
+
20
+ # This needs to be done outside the bootstrap generator
21
+ # to avoid an initial "unknown variant" error.
22
+ environment <<-RUBY.strip_heredoc, :env => :development
23
+ config.ember.variant = :development
24
+ RUBY
25
+
26
+ environment <<-RUBY.strip_heredoc, :env => :test
27
+ config.ember.variant = :development
28
+ RUBY
29
+
30
+ environment <<-RUBY.strip_heredoc, :env => :production
31
+ config.ember.variant = :production
32
+ RUBY
33
+
34
+ # Configure the app to serve Ember.js and app assets from an AssetsController
35
+ generate "ember:bootstrap"
36
+ generate "ember:install", "--head"
37
+ generate :controller, "Assets", "index"
38
+ run "rm app/views/assets/index.html.erb"
39
+ file 'app/views/assets/index.html.erb', <<-CODE
40
+ <!DOCTYPE html>
41
+ <html>
42
+ <head>
43
+ <title>Photoblog</title>
44
+ <%= stylesheet_link_tag "application", :media => "all" %>
45
+ <%= csrf_meta_tags %>
46
+ </head>
47
+ <body>
48
+ <%= javascript_include_tag "application" %>
49
+ </body>
50
+ </html>
51
+ CODE
52
+ run "rm -rf app/views/layouts"
53
+ route "root :to => 'assets#index'"
54
+
55
+ # Generate a default serializer that is compatible with ember-data
56
+ generate :serializer, "application", "--parent", "ActiveModel::Serializer"
57
+ inject_into_class "app/serializers/application_serializer.rb", 'ApplicationSerializer' do
58
+ " embed :ids, :include => true\n"
59
+ end
60
+
@@ -0,0 +1,20 @@
1
+ after_bundler do
2
+ say_wizard "recipe running after 'bundle install'"
3
+
4
+ # Convert all views to Haml
5
+ run "for i in `find app/views -name '*.erb'` ; do html2haml -e $i ${i%erb}haml ; rm $i ; done"
6
+
7
+ ### GIT ###
8
+ git :add => '.' if prefer :git, true
9
+ git :commit => "-aqm 'rails_apps_composer: Haml starter views.'" if prefer :git, true
10
+ end # after_bundler
11
+
12
+ __END__
13
+
14
+ name: haml_views
15
+ description: "Convert views to Haml"
16
+ author: tubbo
17
+
18
+ requires: [setup, gems, auth, models, controllers, views]
19
+ run_after: [setup, gems, auth, models, controllers, views]
20
+ category: mvc
@@ -0,0 +1,84 @@
1
+ # Application template recipe for the rails_apps_composer. Check for a newer version here:
2
+ # https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/html5.rb
3
+
4
+ after_bundler do
5
+ say_wizard "HTML5 recipe running 'after bundler'"
6
+ # add a humans.txt file
7
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/humans.txt', 'public/humans.txt'
8
+ # install a front-end framework for HTML5 and CSS3
9
+ remove_file 'app/assets/stylesheets/application.css'
10
+ remove_file 'app/views/layouts/application.html.erb'
11
+ remove_file 'app/views/layouts/application.html.haml'
12
+ unless recipes.include? 'bootstrap'
13
+ if recipes.include? 'haml'
14
+ # Haml version of a simple application layout
15
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/simple/views/layouts/application.html.haml', 'app/views/layouts/application.html.haml'
16
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/simple/views/layouts/_messages.html.haml', 'app/views/layouts/_messages.html.haml'
17
+ else
18
+ # ERB version of a simple application layout
19
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/simple/views/layouts/application.html.erb', 'app/views/layouts/application.html.erb'
20
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/simple/views/layouts/_messages.html.erb', 'app/views/layouts/_messages.html.erb'
21
+ end
22
+ # simple css styles
23
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/simple/assets/stylesheets/application.css.scss', 'app/assets/stylesheets/application.css.scss'
24
+ else # for Twitter Bootstrap
25
+ if recipes.include? 'haml'
26
+ # Haml version of a complex application layout using Twitter Bootstrap
27
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/twitter-bootstrap/views/layouts/application.html.haml', 'app/views/layouts/application.html.haml'
28
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/twitter-bootstrap/views/layouts/_messages.html.haml', 'app/views/layouts/_messages.html.haml'
29
+ else
30
+ # ERB version of a complex application layout using Twitter Bootstrap
31
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/twitter-bootstrap/views/layouts/application.html.erb', 'app/views/layouts/application.html.erb'
32
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/twitter-bootstrap/views/layouts/_messages.html.erb', 'app/views/layouts/_messages.html.erb'
33
+ end
34
+ # complex css styles using Twitter Bootstrap
35
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/twitter-bootstrap/assets/stylesheets/application.css.scss', 'app/assets/stylesheets/application.css.scss'
36
+ end
37
+ # get an appropriate navigation partial
38
+ if recipes.include? 'haml'
39
+ if recipes.include? 'devise'
40
+ if recipes.include? 'authorization'
41
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/navigation/devise/authorization/_navigation.html.haml', 'app/views/layouts/_navigation.html.haml'
42
+ else
43
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/navigation/devise/_navigation.html.haml', 'app/views/layouts/_navigation.html.haml'
44
+ end
45
+ elsif recipes.include? 'omniauth'
46
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/navigation/omniauth/_navigation.html.haml', 'app/views/layouts/_navigation.html.haml'
47
+ elsif recipes.include? 'subdomains'
48
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/navigation/subdomains/_navigation.html.haml', 'app/views/layouts/_navigation.html.haml'
49
+ else
50
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/navigation/none/_navigation.html.haml', 'app/views/layouts/_navigation.html.haml'
51
+ end
52
+ else
53
+ if recipes.include? 'devise'
54
+ if recipes.include? 'authorization'
55
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/navigation/devise/authorization/_navigation.html.erb', 'app/views/layouts/_navigation.html.erb'
56
+ else
57
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/navigation/devise/_navigation.html.erb', 'app/views/layouts/_navigation.html.erb'
58
+ end
59
+ elsif recipes.include? 'omniauth'
60
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/navigation/omniauth/_navigation.html.erb', 'app/views/layouts/_navigation.html.erb'
61
+ elsif recipes.include? 'subdomains'
62
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/navigation/subdomains/_navigation.html.erb', 'app/views/layouts/_navigation.html.erb'
63
+ else
64
+ get 'https://raw.github.com/RailsApps/rails3-application-templates/master/files/navigation/none/_navigation.html.erb', 'app/views/layouts/_navigation.html.erb'
65
+ end
66
+ end
67
+ if recipes.include? 'haml'
68
+ gsub_file 'app/views/layouts/application.html.haml', /App_Name/, "#{app_name.humanize.titleize}"
69
+ gsub_file 'app/views/layouts/_navigation.html.haml', /App_Name/, "#{app_name.humanize.titleize}"
70
+ else
71
+ gsub_file 'app/views/layouts/application.html.erb', /App_Name/, "#{app_name.humanize.titleize}"
72
+ gsub_file 'app/views/layouts/_navigation.html.erb', /App_Name/, "#{app_name.humanize.titleize}"
73
+ end
74
+ end
75
+
76
+ __END__
77
+
78
+ name: html5
79
+ description: "Install HTML5 boilerplate code."
80
+ author: tubbo
81
+
82
+ requires: [setup, gems, frontend]
83
+ run_after: [setup, gems, frontend]
84
+ category: frontend
@@ -0,0 +1,87 @@
1
+ # Application template recipe for the rails_apps_composer. Change the recipe here:
2
+ # https://github.com/RailsApps/rails_apps_composer/blob/master/recipes/readme.rb
3
+
4
+ after_everything do
5
+ say_wizard "recipe running after everything"
6
+
7
+ # remove default READMEs
8
+ %w{
9
+ README
10
+ README.rdoc
11
+ doc/README_FOR_APP
12
+ }.each { |file| remove_file file }
13
+
14
+ # add placeholder READMEs and humans.txt file
15
+ copy_from_repo 'public/humans.txt'
16
+ copy_from_repo 'README'
17
+ copy_from_repo 'README.md'
18
+ gsub_file "README", /App_Name/, "#{app_name.humanize.titleize}"
19
+ gsub_file "README.md", /App_Name/, "#{app_name.humanize.titleize}"
20
+
21
+ # Diagnostics
22
+ gsub_file "README.md", /recipes that are known/, "recipes that are NOT known" if diagnostics[:recipes] == 'fail'
23
+ gsub_file "README.md", /preferences that are known/, "preferences that are NOT known" if diagnostics[:prefs] == 'fail'
24
+ gsub_file "README.md", /RECIPES/, recipes.sort.inspect
25
+ gsub_file "README.md", /PREFERENCES/, prefs.inspect
26
+ gsub_file "README", /RECIPES/, recipes.sort.inspect
27
+ gsub_file "README", /PREFERENCES/, prefs.inspect
28
+
29
+ # Ruby on Rails
30
+ gsub_file "README.md", /\* Ruby/, "* Ruby version #{RUBY_VERSION}"
31
+ gsub_file "README.md", /\* Rails/, "* Rails version #{Rails::VERSION::STRING}"
32
+
33
+ # Database
34
+ gsub_file "README.md", /SQLite/, "PostgreSQL" if prefer :database, 'postgresql'
35
+ gsub_file "README.md", /SQLite/, "MySQL" if prefer :database, 'mysql'
36
+ gsub_file "README.md", /SQLite/, "MongoDB" if prefer :database, 'mongodb'
37
+ gsub_file "README.md", /ActiveRecord/, "the Mongoid ORM" if prefer :orm, 'mongoid'
38
+
39
+ # Template Engine
40
+ gsub_file "README.md", /ERB/, "Haml" if prefer :templates, 'haml'
41
+ gsub_file "README.md", /ERB/, "Slim" if prefer :templates, 'slim'
42
+
43
+ # Testing Framework
44
+ gsub_file "README.md", /Test::Unit/, "RSpec" if prefer :unit_test, 'rspec'
45
+ gsub_file "README.md", /RSpec/, "RSpec and Cucumber" if prefer :integration, 'cucumber'
46
+ gsub_file "README.md", /RSpec/, "RSpec and Factory Girl" if prefer :fixtures, 'factory_girl'
47
+ gsub_file "README.md", /RSpec/, "RSpec and Machinist" if prefer :fixtures, 'machinist'
48
+
49
+ # Front-end Framework
50
+ gsub_file "README.md", /Front-end Framework: None/, "Front-end Framework: Twitter Bootstrap (Sass)" if prefer :bootstrap, 'sass'
51
+ gsub_file "README.md", /Front-end Framework: None/, "Front-end Framework: Twitter Bootstrap (Less)" if prefer :bootstrap, 'less'
52
+ gsub_file "README.md", /Front-end Framework: None/, "Front-end Framework: Zurb Foundation" if prefer :frontend, 'foundation'
53
+ gsub_file "README.md", /Front-end Framework: None/, "Front-end Framework: Skeleton" if prefer :frontend, 'skeleton'
54
+ gsub_file "README.md", /Front-end Framework: None/, "Front-end Framework: Normalized CSS" if prefer :frontend, 'normalize'
55
+
56
+ # Form Builder
57
+ gsub_file "README.md", /Form Builder: None/, "Form Builder: SimpleForm" if prefer :form_builder, 'simple_form'
58
+
59
+ # Email
60
+ unless prefer :email, 'none'
61
+ gsub_file "README.md", /Gmail/, "SMTP" if prefer :email, 'smtp'
62
+ gsub_file "README.md", /Gmail/, "SendGrid" if prefer :email, 'sendgrid'
63
+ gsub_file "README.md", /Gmail/, "Mandrill" if prefer :email, 'mandrill'
64
+ else
65
+ gsub_file "README.md", /h2. Email/, ""
66
+ gsub_file "README.md", /The application is configured to send email using a Gmail account./, ""
67
+ end
68
+
69
+ # Authentication and Authorization
70
+ gsub_file "README.md", /Authentication: None/, "Authentication: Devise" if prefer :authentication, 'devise'
71
+ gsub_file "README.md", /Authentication: None/, "Authentication: OmniAuth" if prefer :authentication, 'omniauth'
72
+ gsub_file "README.md", /Authorization: None/, "Authorization: CanCan" if prefer :authorization, 'cancan'
73
+
74
+ git :add => '.' if prefer :git, true
75
+ git :commit => "-aqm 'rails_apps_composer: add README files'" if prefer :git, true
76
+
77
+ end # after_everything
78
+
79
+ __END__
80
+
81
+ name: readme_markdown
82
+ description: "Build a Markdown README file for your application."
83
+ author: tubbo
84
+
85
+ requires: [setup]
86
+ run_after: [setup]
87
+ category: configuration