Class: MakeItSo::SinatraAppGenerator

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



80
81
82
83
84
85
86
87
88
89
# File 'lib/generators/sinatra_app_generator.rb', line 80

def self.source_root
  template_path = File.join(
    File.dirname(__FILE__),
    "..",
    "..",
    "templates",
    "sinatra")

  File.expand_path(template_path)
end

Instance Method Details

#app_fileObject



26
27
28
29
# File 'lib/generators/sinatra_app_generator.rb', line 26

def app_file
  file_path = 'app.rb'
  template(file_path, File.join(app_path, file_path))
end

#asset_filesObject



45
46
47
48
49
50
51
52
# File 'lib/generators/sinatra_app_generator.rb', line 45

def asset_files
  [
    'public/javascripts/app.js',
    'public/stylesheets/app.css'
  ].each do |file_path|
    create_file(File.join(app_path, file_path))
  end
end

#directoriesObject



15
16
17
18
19
20
21
22
23
24
# File 'lib/generators/sinatra_app_generator.rb', line 15

def directories
  [
    'lib',
    'views',
    'public/stylesheets',
    'public/javascripts'
  ].each do |dir|
    empty_directory File.join(app_path, dir)
  end
end

#gemfileObject



59
60
61
62
# File 'lib/generators/sinatra_app_generator.rb', line 59

def gemfile
  file_path = 'Gemfile'
  template(file_path, File.join(app_path, file_path))
end

#gitignoreObject



64
65
66
67
# File 'lib/generators/sinatra_app_generator.rb', line 64

def gitignore
  file_path = '.gitignore'
  template(file_path, File.join(app_path, file_path))
end

#rackup_fileObject



54
55
56
57
# File 'lib/generators/sinatra_app_generator.rb', line 54

def rackup_file
  file_path = 'config.ru'
  template(file_path, File.join(app_path, file_path))
end

#rakefileObject



31
32
33
34
# File 'lib/generators/sinatra_app_generator.rb', line 31

def rakefile
  file_path = 'Rakefile'
  template(file_path, File.join(app_path, file_path))
end

#rspecObject



69
70
71
72
73
74
75
76
77
78
# File 'lib/generators/sinatra_app_generator.rb', line 69

def rspec
  if options.rspec?
    empty_directory File.join(app_path, 'spec/features')
    spec_helper = 'spec/spec_helper.rb'
    template(spec_helper, File.join(app_path, spec_helper))

    dot_rspec = '.rspec'
    template(dot_rspec, File.join(app_path, dot_rspec))
  end
end

#view_filesObject



36
37
38
39
40
41
42
43
# File 'lib/generators/sinatra_app_generator.rb', line 36

def view_files
  [
    'views/layout.erb',
    'views/index.erb'
  ].each do |file_path|
    template(file_path, File.join(app_path, file_path))
  end
end