Module: RSpec::Rails::Controller

Includes:
App
Defined in:
lib/generator_spec/rails_helpers/rails_controller.rb

Instance Method Summary collapse

Methods included from App

#all_files, #app_dir, #app_files, #config_dir, #controller_dir, #controller_files, #css_files, #db_dir, #db_files, #helper_dir, #helper_files, #initializer_dir, #initializer_files, #javascript_dir, #javascript_files, #locale_dir, #locale_files, #mailer_dir, #mailer_files, #migration_dir, #migration_files, #model_dir, #model_files, #observer_dir, #observer_files, #root_dir, #sass_files, #stylesheet_dir, #view_dir, #view_files, #view_files_haml, #view_files_html

Instance Method Details

#controller_content(name, content = nil) ⇒ Object



17
18
19
20
21
# File 'lib/generator_spec/rails_helpers/rails_controller.rb', line 17

def controller_content name, content=nil
  %Q{class #{name.to_s.camelize}Controller < ActionController::Base
    #{content}
  end}        
end

#controller_file_name(name) ⇒ Object



32
33
34
# File 'lib/generator_spec/rails_helpers/rails_controller.rb', line 32

def controller_file_name name
  File.join(controller_dir, "#{name}_controller.rb")
end

#create_controller(name, content = nil) ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'lib/generator_spec/rails_helpers/rails_controller.rb', line 6

def create_controller name, content=nil
  file = controller_file_name(name)
  unless File.exist?(file)    
    FileUtils.mkdir_p File.dirname(file)
    content ||= yield if block_given?          
    File.open(file, 'w') do |f|  
      f.puts controller_content(name, content)
    end
  end
end

#remove_controller(name) ⇒ Object



23
24
25
26
# File 'lib/generator_spec/rails_helpers/rails_controller.rb', line 23

def remove_controller name
  file = controller_file_name(name)
  FileUtils.rm_f(file) if File.exist?(file)
end

#remove_controllers(*names) ⇒ Object



28
29
30
# File 'lib/generator_spec/rails_helpers/rails_controller.rb', line 28

def remove_controllers *names
  names.each{|name| remove_controller name }
end