class Cucumber::WireSupport::RequestHandler

Public Class Methods

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

Public Instance Methods

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

Private Instance Methods

underscore(camel_cased_word) click to toggle source

Props to Rails

# File lib/cucumber/wire_support/request_handler.rb, line 23
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