class Cucumber::Wire::RequestHandler

Public Class Methods

new(connection, registry = nil) click to toggle source
# File lib/cucumber/wire/request_handler.rb, line 4
def initialize(connection, registry = nil)
  @connection = connection
  @message = underscore(self.class.name.split('::').last)
  @registry = registry
end

Public Instance Methods

execute(request_params = nil) click to toggle source
# File lib/cucumber/wire/request_handler.rb, line 10
def execute(request_params = nil)
  @connection.call_remote(self, @message, request_params)
end
handle_fail(params) click to toggle source
# File lib/cucumber/wire/request_handler.rb, line 14
def handle_fail(params)
  raise @connection.exception(params)
end
handle_success(params) click to toggle source
# File lib/cucumber/wire/request_handler.rb, line 18
def handle_success(params)
end

Private Instance Methods

underscore(camel_cased_word) click to toggle source

Props to Rails

# File lib/cucumber/wire/request_handler.rb, line 24
def underscore(camel_cased_word)
  camel_cased_word.to_s.gsub(/::/, '/').
  gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
  gsub(/([a-z\d])([A-Z])/,'\1_\2').
  tr("-", "_").
  downcase
end