37 lines
988 B
Ruby
37 lines
988 B
Ruby
require 'rails/generators'
|
|
require 'rails/generators/generated_attribute'
|
|
module BjController
|
|
module Generators
|
|
class SpecGenerator < ::Rails::Generators::Base
|
|
source_root File.expand_path('../templates', __FILE__)
|
|
argument :controller_name, :type => :string, :required => true
|
|
|
|
def copy_views
|
|
generate_views
|
|
end
|
|
protected
|
|
def generate_views
|
|
template 'controller_spec.rb', File.join('spec/controllers', controller_namespace_path, "#{controller_base_name}_controller_spec.rb")
|
|
end
|
|
def controller_namespace_path
|
|
controller_name.sub(/[^\/]+\Z/, '')
|
|
end
|
|
|
|
def model_plural_name
|
|
controller_base_name
|
|
end
|
|
def model_name
|
|
model_plural_name.singularize
|
|
end
|
|
|
|
def controller_base_name
|
|
controller_name.split('/').last.pluralize
|
|
end
|
|
|
|
def controller_class_name
|
|
"#{controller_name.classify.pluralize}Controller"
|
|
end
|
|
end
|
|
end
|
|
end
|