Sha256: 198a26594e7793dcf592d8b5f0d778b4edba7e3038be3ea5a548f943c2597971

Contents?: true

Size: 1.66 KB

Versions: 3

Compression:

Stored size: 1.66 KB

Contents

require 'bundler'

puts "Setting up basic template"
puts

gem_group :development do
  if ENV['SEED_DEVELOPMENT']
    gem 'happy_seed', :path => ENV['SEED_DEVELOPMENT'] # File.dirname(__FILE__)
  else
    gem 'happy_seed'
  end
end

@packages = [ 'base' ]

def run_graph graph
  graph.each do |node|
    if yes?( "Install #{node[:name]}, #{node[:desc]}?" )
      generate "happy_seed:#{node[:name]}"
      @packages << node[:name]

      run_graph node[:subtree] if node[:subtree]
    end
  end
end

Bundler.with_clean_env do
  run "bundle install --without production"

  # Run the base generator
  generate "happy_seed:base"

  puts "Base generator installed."

  puts File.read( File.expand_path( "happy_seed.txt", File.dirname( __FILE__ ) ) )

  GRAPH = [
    {name: 'splash', desc: 'Basic splash page' },
    {name: 'devise', desc: 'User profiles', subtree: [
      {name: 'devise_invitable', desc: 'Invitable users'},
      {name: 'facebook', desc: 'OAuth: Connect with facebook' },
      {name: 'github', desc: 'OAuth: Connect with github' },
      {name: 'googleoauth', desc: 'OAuth: Connect wuth google' },
      {name: 'instagram', desc: 'OAuth: Instagram' },
      {name: 'twitter', desc: 'OAuth: twitter' },
      ]},
    {name: 'admin', desc: 'Active Admin for back office adminstration' },
    {name: 'api', desc: 'Provide API for mobile device (Beta)' },
    {name: 'angular', desc: 'Setup an angular application' },
    {name: 'jazz_hands', desc: 'Better Rails Console tools' }
  ]

  run_graph GRAPH

  run "bundle exec spring binstub --all"

  puts "Setting up git"
  git :init
  git add: "."
  git commit: "-a -m 'Based off of happy_seed: #{@packages.join( ', ')} included'"
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
happy_seed-0.0.19 happy_seed.rb
happy_seed-0.0.18 happy_seed.rb
happy_seed-0.0.17 happy_seed.rb