Class: Mattermost::RequestBuilder

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

Instance Method Summary collapse

Constructor Details

#initialize(resource, method_name, args, options) ⇒ RequestBuilder

Returns a new instance of RequestBuilder.



4
5
6
7
8
9
# File 'lib/mattermost/request_builder.rb', line 4

def initialize(resource, method_name, args, options)
  @resource = resource
  @method_name = method_name
  @args = args
  @options = options
end

Instance Method Details

#interpolated_endpointObject Also known as: endpoint



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/mattermost/request_builder.rb', line 11

def interpolated_endpoint
  raw = raw_endpoint
  route_params = raw.scan(%r{(:\w*)}).flatten
  route_params.each do |route_param|
    rp = route_param[1..-1]
    if @resource.respond_to?(rp.to_sym)
      raw.gsub!(route_param, @resource.send(rp.to_sym))
    elsif parameters[rp.to_sym]
      raw.gsub!(route_param, parameters[rp.to_sym])
    elsif endpoint_args_map[rp.to_sym]
      raw.gsub!(route_param, endpoint_args_map[rp.to_sym])
    end
  end
  unless query_params.empty?
    raw += "?#{URI.encode_www_form(query_params)}"
  end
  raw
end

#request_optionsObject



30
31
32
33
34
35
# File 'lib/mattermost/request_builder.rb', line 30

def request_options
  if request_body
    return {:body => request_body.to_json}
  end
  {}
end