Sha256: f4dab653d90a32d6b394f760dd7f4d1a1bf4775fc98fa51a08825990caac766c
Contents?: true
Size: 888 Bytes
Versions: 1
Compression:
Stored size: 888 Bytes
Contents
require 'rails_generator' require 'shenandoah/rails/locator' module Shenandoah module Generators class ShenSpecGenerator < ::Rails::Generator::NamedBase def manifest spec_path = ENV['SHEN_SPEC_PATH'] || Shenandoah::Rails::Locator.new.spec_path.sub(%r{^#{RAILS_ROOT}/}, '') record do |m| m.directory "#{spec_path}/#{File.dirname(file_path)}" m.template 'javascript_spec.js.erb', "#{spec_path}/#{file_path}_spec.js" m.template 'fixture.html.erb', "#{spec_path}/#{file_path}.html" end end def file_path super.sub /_spec$/, '' end def javascript_class_name klass, *mods_rev = class_name.sub(/Spec$/, '').split('::').reverse mod_spec = mods_rev.reverse.collect { |m| m.downcase }.join('.') [mod_spec, klass].reject { |p| p == "" }.join '.' end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
shenandoah-0.1.1 | rails_generators/shen_spec/shen_spec_generator.rb |