Sha256: 50acd294ab398f5ef8c091322b3a7364cd6171ada07e432a46f565a954764673
Contents?: true
Size: 1.34 KB
Versions: 2
Compression:
Stored size: 1.34 KB
Contents
module Calabash module HTTP # A representation of an HTTP request that can be passed passed to the HTTP # client as an argument for `get` or `post`. class Request attr_reader :route, :params def initialize(route, params={}) @route = route @params = params end # Create a new Request from `route` and `parameters`. # # @param [String] route The http route for the new request. # @param [Array, Hash] parameters An Array or Hash of parameters. # @return [Request] A new Request for `route` with `parameters`. # @raise [RequestError] Raises an error if the parameters cannot be # converted to JSON def self.request(route, parameters) Request.new(route, Request.data(parameters)) end private # Converts `parameters` to JSON. # # @param [Array, Hash] parameters An Array or Hash of parameters. # @return [String] A JSON formatted string that represents the parameters. # @raise [RequestError] Raises an error if the parameters cannot be # converted to JSON def self.data(parameters) begin JSON.generate(parameters) rescue *[TypeError, JSON::GeneratorError] => e raise RequestError, "#{e}: could not generate JSON from '#{parameters}'" end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
calabash-1.9.9.pre2 | lib/calabash/http/request.rb |
calabash-1.9.9.pre1 | lib/calabash/http/request.rb |