module RSpec::Rails module View include RSpec::Rails::App def create_view name, action='show', *args type, content = parse_args(*args) file = view_file_name(name, action, type) unless File.exist?(file) FileUtils.mkdir_p File.dirname(file) content ||= yield if block_given? return if !content File.open(file, 'w') do |f| f.puts content end end end def parse_args *args type='html.erb' content=nil if args && args[0] case args[0] when String content = args[0] when Symbol type = args[0] content = args[1] if args.size > 1 end end [type, content] end def remove_view name, action='show', type='html.erb' file = view_file_name(name, action, type) FileUtils.rm_f(file) if File.exist?(file) end def view_file_name name, action='show', type='html.erb' File.join(view_dir, name.to_s, "#{action}.#{type}") end end end