Class: Webspicy::RackTestClient
- Defined in:
- lib/webspicy/client/rack_test_client.rb
Defined Under Namespace
Classes: Api, Factory, RackHandler
Instance Attribute Summary collapse
-
#api ⇒ Object
readonly
Returns the value of attribute api.
Attributes inherited from Client
Class Method Summary collapse
Instance Method Summary collapse
- #call(test_case) ⇒ Object
-
#initialize(scope, app) ⇒ RackTestClient
constructor
A new instance of RackTestClient.
Methods inherited from Client
Constructor Details
#initialize(scope, app) ⇒ RackTestClient
Returns a new instance of RackTestClient.
8 9 10 11 |
# File 'lib/webspicy/client/rack_test_client.rb', line 8 def initialize(scope, app) super(scope) @api = Api.new(app) end |
Instance Attribute Details
#api ⇒ Object (readonly)
Returns the value of attribute api.
12 13 14 |
# File 'lib/webspicy/client/rack_test_client.rb', line 12 def api @api end |
Class Method Details
.for(app) ⇒ Object
4 5 6 |
# File 'lib/webspicy/client/rack_test_client.rb', line 4 def self.for(app) Factory.new(app) end |
Instance Method Details
#call(test_case) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/webspicy/client/rack_test_client.rb', line 14 def call(test_case) service, resource = test_case.service, test_case.resource # Instantiate the parameters headers = test_case.headers.dup params = test_case.dress_params? ? service.dress_params(test_case.params) : test_case.params body = test_case.body # Instantiate the url and strip parameters url, params = resource.instantiate_url(params) url = scope.to_real_url(url, test_case){|u,_| u } # Invoke the service now api.public_send(service.method.to_s.downcase.to_sym, url, params, headers, body) # Return the result Resource::Service::Invocation.new(service, test_case, api.last_response, self) end |