Class: Gunnertechnology::Generators::ProjectGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/gunnertechnology/project/project_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object



9
10
11
12
13
14
15
# File 'lib/generators/gunnertechnology/project/project_generator.rb', line 9

def self.next_migration_number(dirname)
  if ActiveRecord::Base.timestamped_migrations
    Time.now.utc.strftime("%Y%m%d%H%M%S")
  else
    "%.3d" % (current_migration_number(dirname) + 1)
  end
end

Instance Method Details

#generate_authenticationObject



102
103
104
105
106
107
108
109
110
111
# File 'lib/generators/gunnertechnology/project/project_generator.rb', line 102

def generate_authentication
  # model
  template "app/models/authentication.rb", "app/models/authentication.rb"
  # controller
  template "app/controllers/authentications_controller.rb", "app/controllers/authentications_controller.rb"
  # migration
  migration_template "db/migrate/create_authentications.rb", "db/migrate/create_authentications.rb"
  # route
  route("match '/auth/:provider/callback' => 'authentications#create'")
end

#generate_cucumberObject



93
94
95
# File 'lib/generators/gunnertechnology/project/project_generator.rb', line 93

def generate_cucumber
  generate("cucumber:skeleton --rspec --capybara")
end

#generate_deviseObject



97
98
99
100
# File 'lib/generators/gunnertechnology/project/project_generator.rb', line 97

def generate_devise
  generate("devise:install")
  generate("devise",devise_model_name)
end

#generate_facebook_configObject



61
62
63
64
# File 'lib/generators/gunnertechnology/project/project_generator.rb', line 61

def generate_facebook_config
  copy_file "config/facebook_config.yml", "config/facebook_config.yml"
  copy_file "config/initializers/load_facebook_config.rb", "config/initializers/facebook_config.rb"
end

#generate_gem_setObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/generators/gunnertechnology/project/project_generator.rb', line 17

def generate_gem_set
  prepend_to_file '.gitignore' do
    '.bundle
    db/*.sqlite3
    log/*.log
    tmp/**/*

    config/database.yml
    config/*.sphinx.conf
    config/s3_credentials.yml
    *~
    *.cache
    *.log
    *.pid
    tmp/**/*
    .DS_Store
    db/cstore/**
    db/sphinx/**
    doc/api
    doc/app
    doc/plugins
    doc/*.dot
    coverage/*
    db/*.sqlite3
    *.tmproj
    *.sw?'
  end
end

#generate_git_configurationObject



113
114
115
116
117
118
119
120
121
122
# File 'lib/generators/gunnertechnology/project/project_generator.rb', line 113

def generate_git_configuration
  git :init
  git :add => "." 
  git :commit => "-m 'first commit'"
  git :remote => "add origin [email protected]:gunnertech/#{project_name}.git"
  git :push => "-u origin master"
  git :checkout => "-b staging"
  git :checkout => "-b production"
  git :checkout => "-b working"
end

#generate_google_analytics_configObject



66
67
68
69
# File 'lib/generators/gunnertechnology/project/project_generator.rb', line 66

def generate_google_analytics_config
  copy_file "config/google_analytics_config.yml", "config/google_analytics_config.yml"
  copy_file "config/initializers/load_google_analytics_config.rb", "config/initializers/load_google_analytics_config.rb"
end

#generate_heroku_setupObject



46
47
48
49
# File 'lib/generators/gunnertechnology/project/project_generator.rb', line 46

def generate_heroku_setup    
  template('config/heroku.yml','config/heroku.yml')
  rake("all heroku:setup")
end

#generate_jqueryObject



81
82
83
# File 'lib/generators/gunnertechnology/project/project_generator.rb', line 81

def generate_jquery
  generate("jquery:install")
end

#generate_layoutObject



51
52
53
54
55
56
57
58
59
# File 'lib/generators/gunnertechnology/project/project_generator.rb', line 51

def generate_layout  
  template "app/views/layouts/application.html.erb", "app/views/layouts/application.html.erb"
  copy_file "app/helpers/gunner_technology_helper.rb", "app/helpers/gunner_technology_helper.rb"
  directory "app/views/shared", "app/views/shared"
  directory "public/javascripts", "public/javascripts"
  directory "public/stylesheets", "public/stylesheets"
  directory "public/swfs", "public/swfs"
  route('root :to => "doesnot/#exist"')
end

#generate_providers_configObject



76
77
78
79
# File 'lib/generators/gunnertechnology/project/project_generator.rb', line 76

def generate_providers_config
  copy_file "config/providers.yml", "config/providers.yml"
  copy_file "config/initializers/omniauth.rb", "config/initializers/omniauth.rb"
end

#generate_rspecObject



89
90
91
# File 'lib/generators/gunnertechnology/project/project_generator.rb', line 89

def generate_rspec
  generate("rspec:install")
end

#generate_seo_configObject



71
72
73
74
# File 'lib/generators/gunnertechnology/project/project_generator.rb', line 71

def generate_seo_config
  copy_file "config/seo_config.yml", "config/seo_config.yml"
  copy_file "config/initializers/load_seo_config.rb", "config/initializers/load_seo_config.rb"
end

#generate_simple_formObject



85
86
87
# File 'lib/generators/gunnertechnology/project/project_generator.rb', line 85

def generate_simple_form
  generate("simple_form:install")
end