Class: Gemsmith::Skeletons::RailsSkeleton
Overview
Configures Ruby on Rails support.
Instance Method Summary
collapse
create, #initialize
Instance Method Details
#create ⇒ Object
39
40
41
42
43
44
45
46
|
# File 'lib/gemsmith/skeletons/rails_skeleton.rb', line 39
def create
return unless configuration.create_rails?
install_rails
create_engine
create_generator_files
create_travis_gemfiles
end
|
#create_engine ⇒ Object
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/gemsmith/skeletons/rails_skeleton.rb', line 15
def create_engine
gem_name = configuration.gem_name
cli.template "#{lib_root}/%gem_name%/engine.rb.tt", configuration.to_h
cli.run "rails plugin new --skip #{gem_name} #{engine_options}"
cli.remove_file "#{gem_name}/app/helpers/#{gem_name}/application_helper.rb", configuration.to_h
cli.remove_file "#{gem_name}/lib/#{gem_name}/version.rb", configuration.to_h
cli.remove_file "#{gem_name}/MIT-LICENSE", configuration.to_h
cli.remove_file "#{gem_name}/README.rdoc", configuration.to_h
end
|
#create_generator_files ⇒ Object
26
27
28
29
30
31
32
|
# File 'lib/gemsmith/skeletons/rails_skeleton.rb', line 26
def create_generator_files
cli.empty_directory "#{generator_root}/templates"
cli.template "#{generator_root}/install/install_generator.rb.tt", configuration.to_h
cli.template "#{generator_root}/install/USAGE.tt", configuration.to_h
cli.template "#{generator_root}/upgrade/upgrade_generator.rb.tt", configuration.to_h
cli.template "#{generator_root}/upgrade/USAGE.tt", configuration.to_h
end
|
#create_travis_gemfiles ⇒ Object
34
35
36
37
|
# File 'lib/gemsmith/skeletons/rails_skeleton.rb', line 34
def create_travis_gemfiles
return unless configuration.create_travis?
cli.template "%gem_name%/gemfiles/rails-%rails_version%.x.gemfile.tt", configuration.to_h
end
|
#install_rails ⇒ Object
9
10
11
12
13
|
# File 'lib/gemsmith/skeletons/rails_skeleton.rb', line 9
def install_rails
return if rails?
return unless cli.yes?("Ruby on Rails is not installed. Would you like to install it (y/n)?")
cli.run "gem install rails"
end
|
#rails? ⇒ Boolean
5
6
7
|
# File 'lib/gemsmith/skeletons/rails_skeleton.rb', line 5
def rails?
cli.run "command -v rails > /dev/null"
end
|