class SpecFileGenerator::FileBuilder
Public Class Methods
new(klass, config = OpenStruct.new)
click to toggle source
# File lib/spec_file_generator/file_builder.rb, line 9 def initialize(klass, config = OpenStruct.new) @klass = klass @config = config end
Public Instance Methods
call()
click to toggle source
# File lib/spec_file_generator/file_builder.rb, line 14 def call create_folder unless Dir.exist?(spec_folder_to_write) File.write(file_to_write, placeholder) file_to_write end
Private Instance Methods
create_folder()
click to toggle source
# File lib/spec_file_generator/file_builder.rb, line 34 def create_folder FileUtils.mkdir_p(spec_folder_to_write) end
file_to_write()
click to toggle source
# File lib/spec_file_generator/file_builder.rb, line 30 def file_to_write File.join(place_into, "#{path_without_extension}_spec.rb") end
path_without_extension()
click to toggle source
# File lib/spec_file_generator/file_builder.rb, line 22 def path_without_extension @klass.pathize.snakecase end
place_into()
click to toggle source
# File lib/spec_file_generator/file_builder.rb, line 38 def place_into @place_into ||= @config.place_into || "spec" end
placeholder()
click to toggle source
# File lib/spec_file_generator/file_builder.rb, line 42 def placeholder <<~TEMPLATE # frozen_string_literal: true require 'spec_helper' RSpec.describe #{@klass} do end TEMPLATE end
spec_folder_to_write()
click to toggle source
# File lib/spec_file_generator/file_builder.rb, line 26 def spec_folder_to_write @spec_folder_to_write ||= File.join(place_into, path_without_extension.split("/")[0..-2]) end