Sha256: 542b0c96e5bbd38c1ebf2a7deba28c4564e299cbeb8f9c3288c7a16f5bc749f8
Contents?: true
Size: 1.7 KB
Versions: 2
Compression:
Stored size: 1.7 KB
Contents
require 'fileutils' require_relative "base_generator" require "erb" require "find" require "ro_commands/core_ext/string" require "active_support" module RoCommands module Generators class SpecFile include BaseGenerator class << self def create(name) @name = name FileUtils.mkpath dir tt name end private def name @name ||= "" end def dir @dir ||= 'spec' end # get dir file def get_df if name f = File.basename name d = name.split("/").first end return d, f end def constant_name if path r = File.basename(path).gsub(%r{_spec\.rb}) do |m| "" end r.camelize end end def path d, f = get_df #puts "d:#{d} line:#{__LINE__}" if test(?d, 'lib') lib_dirs = Find.find('lib').select do |file| test(?d, file) end dir_full_path = lib_dirs.grep(%r{#{d.implicit}$}).first || 'lib' files = Find.find(dir_full_path).select do |file| if test(?f, file) basename = File.basename file basename.match(%r{^#{f.implicit}}) end end file = files.first.gsub(%r{\.rb}, "") basename = File.basename(file) File.join(dir, dir_full_path, "#{basename}_spec.rb") end end def to super unless test(?f, path) file_write(path) end @created_file = path end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ro_commands-0.0.3 | lib/ro_commands/generators/spec_file.rb |
ro_commands-0.0.2 | lib/ro_commands/generators/spec_file.rb |