Sha256: f511a9e8bcf0058643e0464d5eea35865f590825bbbdcd0bcded1b73c8d6ec71
Contents?: true
Size: 1.67 KB
Versions: 1
Compression:
Stored size: 1.67 KB
Contents
module RSpec module Rails module Controller module Macros def self.included(base) base.extend(ClassMethods) end module ClassMethods def request(method, action, aparams = {}, &block) description = "#{method.to_s.upcase} ##{action.to_s}" describe description do let(:params) { aparams } define_method :action! do p = params p = instance_eval(&p) if p.is_a?(Proc) send method, action, p end define_method(:run_request!) { action! } # deprecated instance_eval &block end end def request!(method, action, params = {}, &block) request(method, action, params) do action! &block end end def action!(&block) describe "action" do before(:each) { action! } instance_eval &block end end def params(params = {}, &block) if block let(:params) { block } else let(:params) { params } end end [:get, :post, :put, :delete, :head].each do |method| module_eval <<-EOF, __FILE__, __LINE__ def #{method}(action, params = {}, &block) request(#{method.inspect}, action, params, &block) end def #{method}!(action, params = {}, &block) request!(#{method.inspect}, action, params, &block) end EOF end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rspec-rails-controller-0.1.2 | lib/rspec/rails/controller/macros.rb |