Class: Smartsheet::API::UrlBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/smartsheet/api/url_builder.rb

Overview

Constructs parameterized URLs for accessing the Smartsheet API

Instance Method Summary collapse

Constructor Details

#initialize(endpoint_spec, request_spec, base_url) ⇒ UrlBuilder

Returns a new instance of UrlBuilder.



7
8
9
10
11
# File 'lib/smartsheet/api/url_builder.rb', line 7

def initialize(endpoint_spec, request_spec, base_url)
  @segments = endpoint_spec.url_segments
  @args = request_spec.url_args
  @base_url = base_url
end

Instance Method Details

#buildObject



13
14
15
16
17
18
# File 'lib/smartsheet/api/url_builder.rb', line 13

def build
  segments
    .collect { |seg| seg.is_a?(Symbol) ? args[seg] : seg }
    .unshift(base_url)
    .join('/')
end