module Cistern::Request
Attributes
cistern[R]
Public Class Methods
cistern_request(cistern, klass, name)
click to toggle source
# File lib/cistern/request.rb, line 21 def self.cistern_request(cistern, klass, name) unless klass.name || klass.cistern_method fail ArgumentError, "can't turn anonymous class into a Cistern request" end method = <<-EOS def #{name}(*args) #{klass}.new(self).call(*args) end EOS cistern::Mock.module_eval method, __FILE__, __LINE__ cistern::Real.module_eval method, __FILE__, __LINE__ end
new(cistern)
click to toggle source
# File lib/cistern/request.rb, line 55 def initialize(cistern) @cistern = cistern end
service_request(*args)
click to toggle source
# File lib/cistern/request.rb, line 37 def self.service_request(*args) Cistern.deprecation( '#service_request is deprecated. Please use #cistern_request', caller[0] ) cistern_request(*args) end
Public Instance Methods
call(*args)
click to toggle source
# File lib/cistern/request.rb, line 59 def call(*args) dispatch(*args) end
mock(*)
click to toggle source
# File lib/cistern/request.rb, line 67 def mock(*) raise NotImplementedError end
real(*)
click to toggle source
# File lib/cistern/request.rb, line 63 def real(*) raise NotImplementedError end
service()
click to toggle source
# File lib/cistern/request.rb, line 47 def service Cistern.deprecation( '#service is deprecated. Please use #cistern', caller[0] ) @cistern end
Protected Instance Methods
dispatch(*args)
click to toggle source
@fixme remove _{mock,real} methods and call {mock,real} directly before 3.0 release.
# File lib/cistern/request.rb, line 74 def dispatch(*args) to = cistern.mocking? ? :mock : :real legacy_method = :"_#{to}" if respond_to?(legacy_method) Cistern.deprecation( '#_mock is deprecated. Please use #mock and/or #call. See https://github.com/lanej/cistern#request-dispatch', caller[0] ) public_send(legacy_method, *args) else public_send(to, *args) end end