Class: Typhoid::RequestBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/typhoid/request_builder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass, uri, options = {}) ⇒ RequestBuilder

Returns a new instance of RequestBuilder.



9
10
11
12
13
# 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

Instance Attribute Details

#klassObject

Returns the value of attribute klass.



3
4
5
# File 'lib/typhoid/request_builder.rb', line 3

def klass
  @klass
end

#method=(value) ⇒ Object (writeonly)

Sets the attribute method

Parameters:

  • value

    the value to set the attribute method to.



7
8
9
# File 'lib/typhoid/request_builder.rb', line 7

def method=(value)
  @method = value
end

#request_optionsObject

Returns the value of attribute request_options.



4
5
6
# File 'lib/typhoid/request_builder.rb', line 4

def request_options
  @request_options
end

#request_uriObject

Returns the value of attribute request_uri.



5
6
7
# File 'lib/typhoid/request_builder.rb', line 5

def request_uri
  @request_uri
end

Instance Method Details

#http_methodObject



19
20
21
# File 'lib/typhoid/request_builder.rb', line 19

def http_method
  request_options[:method] || :get
end

#optionsObject



15
16
17
# File 'lib/typhoid/request_builder.rb', line 15

def options
  symbolize_keys({ method: http_method }.merge(request_options.reject { |_,value| value.nil? }))
end

#runObject



23
24
25
# File 'lib/typhoid/request_builder.rb', line 23

def run
  klass.run(self)
end