Sha256: db360724a3541edccea2bae5424a2d24b0e95dec23792b67ac6b37c7ac8b3e47

Contents?: true

Size: 1.33 KB

Versions: 7

Compression:

Stored size: 1.33 KB

Contents

# Based on spree commerce controller hacks.
# https://github.com/spree/spree/blob/master/core/spec/support/controller_hacks.rb
# Thanks!

module Alchemy
  module ControllerHacks
    def get(action, parameters = nil, session = nil, flash = nil)
      process_alchemy_action(action, parameters, session, flash, "GET")
    end

    # Executes a request simulating POST HTTP method and set/volley the response
    def post(action, parameters = nil, session = nil, flash = nil)
      process_alchemy_action(action, parameters, session, flash, "POST")
    end

    # Executes a request simulating PUT HTTP method and set/volley the response
    def put(action, parameters = nil, session = nil, flash = nil)
      process_alchemy_action(action, parameters, session, flash, "PUT")
    end

    # Executes a request simulating DELETE HTTP method and set/volley the response
    def delete(action, parameters = nil, session = nil, flash = nil)
      process_alchemy_action(action, parameters, session, flash, "DELETE")
    end
    
    private
    
    def process_alchemy_action(action, parameters = nil, session = nil, flash = nil, method = "GET")
      parameters ||= {}
      process(action, parameters.merge!(:use_route => :alchemy), session, flash, method)
    end
  end
end

RSpec.configure do |c|
  c.include Alchemy::ControllerHacks, :type => :controller
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
alchemy_cms-2.1.rc6 spec/support/controller_hacks.rb
alchemy_cms-2.1.rc5 spec/support/controller_hacks.rb
alchemy_cms-2.1.rc4 spec/support/controller_hacks.rb
alchemy_cms-2.1.rc3 spec/support/controller_hacks.rb
alchemy_cms-2.1.rc2 spec/support/controller_hacks.rb
alchemy_cms-2.1.beta6 spec/support/controller_hacks.rb
alchemy_cms-2.1.beta5 spec/support/controller_hacks.rb