Class: GemspecGenerator
- Inherits:
-
Object
- Object
- GemspecGenerator
- Defined in:
- lib/serverspec_launcher/generators/gemspec_generator.rb
Overview
Generates the rakefile that will bring in the serverspec tasks
Instance Method Summary collapse
- #gemfile_template ⇒ Object
- #gemspec_template ⇒ Object
- #generate ⇒ Object
-
#initialize(options = {}) ⇒ GemspecGenerator
constructor
A new instance of GemspecGenerator.
Constructor Details
#initialize(options = {}) ⇒ GemspecGenerator
Returns a new instance of GemspecGenerator.
7 8 9 10 11 12 13 14 15 |
# File 'lib/serverspec_launcher/generators/gemspec_generator.rb', line 7 def initialize( = {}) path = [:root_path] ? "#{[:root_path]}/" : '' @template_path = File.('../../../../templates', __FILE__) @project_name = Dir.pwd.split('/')[-1] @gemspec_file = "#{path}#{@project_name}.gemspec" @gem_file = "#{path}Gemfile" @name = [:name] || '<Your Name>' @email = [:email] || '<Your email>' end |
Instance Method Details
#gemfile_template ⇒ Object
21 22 23 |
# File 'lib/serverspec_launcher/generators/gemspec_generator.rb', line 21 def gemfile_template File.read "#{@template_path}/Gemfile.erb" end |
#gemspec_template ⇒ Object
17 18 19 |
# File 'lib/serverspec_launcher/generators/gemspec_generator.rb', line 17 def gemspec_template File.read "#{@template_path}/gemspec.rb.erb" end |
#generate ⇒ Object
26 27 28 29 30 31 |
# File 'lib/serverspec_launcher/generators/gemspec_generator.rb', line 26 def generate renderer = ERB.new gemspec_template File.open(@gemspec_file, 'w') { |file| file.write renderer.result(binding) } if Dir['*.gemspec'].empty? renderer = ERB.new gemfile_template File.open(@gem_file, 'w') { |file| file.write renderer.result(binding) } unless File.exists? @gem_file end |