Module: RSpec::Rails::Controller

Defined in:
lib/rspec_for_generators/rails_helpers/rails_controller.rb

Instance Method Summary collapse

Instance Method Details

#controller_content(name, content = nil) ⇒ Object



15
16
17
18
19
# File 'lib/rspec_for_generators/rails_helpers/rails_controller.rb', line 15

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

#controller_file_name(name) ⇒ Object



30
31
32
# File 'lib/rspec_for_generators/rails_helpers/rails_controller.rb', line 30

def controller_file_name name
  File.join(::Rails.root, "app/controllers/#{name}_controller.rb")
end

#create_controller(name, content = nil) ⇒ Object



4
5
6
7
8
9
10
11
12
13
# File 'lib/rspec_for_generators/rails_helpers/rails_controller.rb', line 4

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



21
22
23
24
# File 'lib/rspec_for_generators/rails_helpers/rails_controller.rb', line 21

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

#remove_controllers(*names) ⇒ Object



26
27
28
# File 'lib/rspec_for_generators/rails_helpers/rails_controller.rb', line 26

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