class EasyRspec::RspecFileBuilder
Public Class Methods
new(klass_name)
click to toggle source
# File lib/easy_rspec/rspec_file_builder.rb, line 5 def initialize(klass_name) @klass_name = klass_name end
Public Instance Methods
build()
click to toggle source
# File lib/easy_rspec/rspec_file_builder.rb, line 9 def build raise "RSpec file already exists at #{rspec_file.path}" if File.file?(rspec_file.path) FileUtils.mkdir_p rspec_file.directory File.new(rspec_file.path, 'w') File.open(rspec_file.path, "w+") do |f| f.write("describe #{original_file.klass_name} do") file_contents.instance_methods.each do |instance_method| write_method_spec(f, "##{instance_method}") end file_contents.class_methods.each do |class_method| write_method_spec(f, ".#{class_method}") end f.write("\n\nend\n") end "RSpec file created successfully at #{rspec_file.path}" end
Private Instance Methods
file_contents()
click to toggle source
# File lib/easy_rspec/rspec_file_builder.rb, line 42 def file_contents @file_contents ||= FileContents.new(original_file.path) end
original_file()
click to toggle source
# File lib/easy_rspec/rspec_file_builder.rb, line 34 def original_file @original_file ||= OriginalFile.new(@klass_name) end
rspec_file()
click to toggle source
# File lib/easy_rspec/rspec_file_builder.rb, line 38 def rspec_file @rspec_file ||= RspecFile.new(original_file) end
write_method_spec(file, descriptor)
click to toggle source
# File lib/easy_rspec/rspec_file_builder.rb, line 46 def write_method_spec(file, descriptor) file.write("\n") file.write("\n describe '#{descriptor}' do") file.write("\n context '' do") file.write("\n it '' do") file.write("\n end") file.write("\n end") file.write("\n end") end