Class: Gemsmith::Generators::Rails
- Inherits:
-
Base
- Object
- Base
- Gemsmith::Generators::Rails
show all
- Defined in:
- lib/gemsmith/generators/rails.rb
Overview
Generates Ruby on Rails support.
Instance Method Summary
collapse
Methods inherited from Base
#initialize, run
Instance Method Details
#create_engine ⇒ Object
17
18
19
20
|
# File 'lib/gemsmith/generators/rails.rb', line 17
def create_engine
cli.template "#{lib_root}/%gem_path%/engine.rb.tt", configuration
cli.run "rails plugin new --skip #{configuration.dig :gem, :name} #{engine_options}"
end
|
#create_generator_files ⇒ Object
22
23
24
25
26
27
28
|
# File 'lib/gemsmith/generators/rails.rb', line 22
def create_generator_files
cli.empty_directory "#{generator_root}/templates"
cli.template "#{generator_root}/install/install_generator.rb.tt", configuration
cli.template "#{generator_root}/install/USAGE.tt", configuration
cli.template "#{generator_root}/upgrade/upgrade_generator.rb.tt", configuration
cli.template "#{generator_root}/upgrade/USAGE.tt", configuration
end
|
#create_travis_gemfiles ⇒ Object
30
31
32
33
|
# File 'lib/gemsmith/generators/rails.rb', line 30
def create_travis_gemfiles
return unless configuration.dig(:generate, :travis)
cli.template "%gem_name%/gemfiles/rails-%rails_version%.x.gemfile.tt", configuration
end
|
#install_rails ⇒ Object
11
12
13
14
15
|
# File 'lib/gemsmith/generators/rails.rb', line 11
def install_rails
return if rails?
return unless cli.yes?("Ruby on Rails is not installed. Would you like it installed (y/n)?")
cli.run "gem install rails"
end
|
#rails? ⇒ Boolean
7
8
9
|
# File 'lib/gemsmith/generators/rails.rb', line 7
def rails?
cli.run "command -v rails > /dev/null"
end
|
#remove_files ⇒ Object
40
41
42
43
44
45
|
# File 'lib/gemsmith/generators/rails.rb', line 40
def remove_files
cli.remove_file "#{gem_name}/app/helpers/#{gem_path}/application_helper.rb", configuration
cli.remove_file "#{gem_name}/lib/#{gem_path}/version.rb", configuration
cli.remove_file "#{gem_name}/MIT-LICENSE", configuration
cli.remove_file "#{gem_name}/README.rdoc", configuration
end
|
#run ⇒ Object
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/gemsmith/generators/rails.rb', line 47
def run
return unless configuration.dig(:generate, :rails)
install_rails
create_engine
create_generator_files
create_travis_gemfiles
stub_assets
remove_files
end
|
#stub_assets ⇒ Object
35
36
37
38
|
# File 'lib/gemsmith/generators/rails.rb', line 35
def stub_assets
cli.run %(printf "%s" > "#{gem_name}/app/assets/javascripts/#{gem_path}/application.js")
cli.run %(printf "%s" > "#{gem_name}/app/assets/stylesheets/#{gem_path}/application.css")
end
|