Class: Aetherg::Generator

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/aetherg/aetherg.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



20
21
22
# File 'lib/aetherg/aetherg.rb', line 20

def self.source_root
  File.expand_path(File.join(File.dirname(__FILE__), "..", "templates"))
end

Instance Method Details

#create_appObject



31
32
33
# File 'lib/aetherg/aetherg.rb', line 31

def create_app
  template "application.rb", File.join(@app_path, "application.rb")
end

#create_config_with_bootObject



35
36
37
38
# File 'lib/aetherg/aetherg.rb', line 35

def create_config_with_boot
  template "config.ru", File.join(@app_path, "config.ru")
  template "boot.rb", File.join(@app_path, "boot.rb")
end

#create_db_configObject



56
57
58
# File 'lib/aetherg/aetherg.rb', line 56

def create_db_config
  template("config/database.yml", File.join(@app_path, "config/database.yml")) unless @no_database
end

#create_empty_directoriesObject

Create empty directories



25
26
27
28
29
# File 'lib/aetherg/aetherg.rb', line 25

def create_empty_directories
  %w{app/assets/images app/assets/javascripts app/assets/stylesheets app/models app/routes app/views config/initializers db/migrate lib log tmp public}.each do |dir|
    empty_directory File.join(@app_path, dir)
  end
end

#create_gemfileObject



40
41
42
# File 'lib/aetherg/aetherg.rb', line 40

def create_gemfile
  template "Gemfile", File.join(@app_path, "Gemfile")
end

#create_gitkeepObject



78
79
80
81
82
83
84
85
86
87
88
# File 'lib/aetherg/aetherg.rb', line 78

def create_gitkeep
  create_file File.join(@app_path, "app", "assets", "images", ".keep")
  create_file File.join(@app_path, "app", "assets", "stylesheets", ".keep")
  create_file File.join(@app_path, "app", "assets", "javascripts", ".keep")
  create_file File.join(@app_path, "app", "models", ".keep")
  create_file File.join(@app_path, "app", "routes", ".keep")
  create_file File.join(@app_path, "app", "views", ".keep")
  create_file File.join(@app_path, "lib", ".keep")
  create_file File.join(@app_path, "db", "migrate", ".keep")
  create_file File.join(@app_path, "public", ".keep")
end

#create_initializersObject



64
65
66
67
68
69
# File 'lib/aetherg/aetherg.rb', line 64

def create_initializers
  template("config/initializers/connection.rb", File.join(@app_path, "config/initializers/connection.rb")) unless @no_database
  template("config/initializers/helpers.rb", File.join(@app_path, "config/initializers/helpers.rb"))
  template("config/initializers/environment.rb", File.join(@app_path, "config/initializers/environment.rb"))
  template("config/initializer.rb", File.join(@app_path, "config/initializer.rb"))
end

#create_rakefileObject



44
45
46
# File 'lib/aetherg/aetherg.rb', line 44

def create_rakefile
  template "Rakefile", File.join(@app_path, "Rakefile")
end

#create_readmeObject



48
49
50
# File 'lib/aetherg/aetherg.rb', line 48

def create_readme
  template "README.md", File.join(@app_path, "README.md")
end

#create_redis_config_and_initializerObject



71
72
73
74
75
76
# File 'lib/aetherg/aetherg.rb', line 71

def create_redis_config_and_initializer
  if @redis
    copy_file("config/redis.yml", File.join(@app_path, "config/redis.yml"))
    template("config/initializers/redis.rb", File.join(@app_path, "config/initializers/redis.rb"))
  end
end

#create_server_configObject



52
53
54
# File 'lib/aetherg/aetherg.rb', line 52

def create_server_config
  copy_file "config/puma.rb", File.join(@app_path, "config/puma.example.rb")
end

#create_settings_configObject



60
61
62
# File 'lib/aetherg/aetherg.rb', line 60

def create_settings_config
  copy_file "config/settings.yml", File.join(@app_path, "config/settings.yml")
end

#setupObject

Creates instance variables from options passed to Aether



13
14
15
16
17
18
# File 'lib/aetherg/aetherg.rb', line 13

def setup
  @name = @app_path = name.filename
  options.each do |key, value|
    instance_variable_set "@#{key.to_s}".to_sym, value
  end
end