lib/gemsmith/skeletons/rails_skeleton.rb in gemsmith-5.3.0 vs lib/gemsmith/skeletons/rails_skeleton.rb in gemsmith-5.4.0
- old
+ new
@@ -1,36 +1,49 @@
module Gemsmith
module Skeletons
+ # Configures Ruby on Rails support.
class RailsSkeleton < BaseSkeleton
+ def enabled?
+ cli.template_options.key?(:rails) && cli.template_options[:rails]
+ end
+
def create_engine
- gem_name = template_options.fetch :gem_name
- system "rails plugin new #{gem_name} #{engine_options}"
- remove_file "#{gem_name}/MIT-LICENSE", template_options
- remove_file "#{gem_name}/README.rdoc", template_options
+ cli.template "#{lib_root}/%gem_name%/engine.rb.tt", cli.template_options
+
+ gem_name = cli.template_options.fetch :gem_name
+ system "rails plugin new --skip #{gem_name} #{engine_options}"
+
+ cli.remove_file "#{gem_name}/app/helpers/#{gem_name}/application_helper.rb", cli.template_options
+ cli.remove_file "#{gem_name}/lib/#{gem_name}/version.rb", cli.template_options
+ cli.remove_file "#{gem_name}/MIT-LICENSE", cli.template_options
+ cli.remove_file "#{gem_name}/README.rdoc", cli.template_options
end
def create_generator_files
- empty_directory "#{generator_root}/templates"
- template "#{generator_root}/install/install_generator.rb.tt", template_options
- template "#{generator_root}/install/USAGE.tt", template_options
- template "#{generator_root}/upgrade/upgrade_generator.rb.tt", template_options
- template "#{generator_root}/upgrade/USAGE.tt", template_options
+ cli.empty_directory "#{generator_root}/templates"
+ cli.template "#{generator_root}/install/install_generator.rb.tt", cli.template_options
+ cli.template "#{generator_root}/install/USAGE.tt", cli.template_options
+ cli.template "#{generator_root}/upgrade/upgrade_generator.rb.tt", cli.template_options
+ cli.template "#{generator_root}/upgrade/USAGE.tt", cli.template_options
end
def create_travis_gemfiles
- if template_options[:travis]
- template "%gem_name%/gemfiles/rails-4.1.x.gemfile.tt", template_options
- end
+ return unless cli.template_options[:travis]
+ cli.template "%gem_name%/gemfiles/rails-4.1.x.gemfile.tt", cli.template_options
end
- private
+ def create
+ return unless enabled?
- def engine_options
- "--skip --skip-bundle --skip-test-unit --skip-keeps --mountable --dummy-path=spec/dummy"
+ create_engine
+ create_generator_files
+ create_travis_gemfiles
end
- def lib_gem_root
- "#{lib_root}/%gem_name%"
+ private
+
+ def engine_options
+ "--skip-bundle --skip-test-unit --skip-keeps --skip-git --mountable --dummy-path=spec/dummy"
end
def generator_root
"#{lib_root}/generators/%gem_name%"
end