class Typhoid::RequestBuilder
Attributes
klass[RW]
method[W]
request_options[RW]
request_uri[RW]
Public Class Methods
new(klass, uri, options = {})
click to toggle source
# File lib/typhoid/request_builder.rb, line 9 def initialize(klass, uri, options = {}) self.request_uri = uri self.request_options = options || {} self.klass = klass end
Public Instance Methods
http_method()
click to toggle source
# File lib/typhoid/request_builder.rb, line 19 def http_method request_options[:method] || :get end
options()
click to toggle source
# File lib/typhoid/request_builder.rb, line 15 def options symbolize_keys({ method: http_method }.merge(request_options.reject { |_,value| value.nil? })) end
run()
click to toggle source
# File lib/typhoid/request_builder.rb, line 23 def run klass.run(self) end
Private Instance Methods
symbolize_key(key)
click to toggle source
# File lib/typhoid/request_builder.rb, line 42 def symbolize_key(key) return key if key.is_a?(Symbol) key.to_s.to_sym end
symbolize_keys(hash)
click to toggle source
Ethon hates on hash with indifferent access for some reason
# File lib/typhoid/request_builder.rb, line 30 def symbolize_keys(hash) hash = hash.to_hash if hash.respond_to?(:symbolize_keys) hash.symbolize_keys else hash.inject({}) do |new_hash, (key, value)| new_hash[symbolize_key(key)] = value new_hash end end end