Class: Sink::Resources::PositionalParams

Inherits:
Object
  • Object
show all
Defined in:
lib/sink/resources/positional_params.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ PositionalParams

Returns a new instance of PositionalParams.

Parameters:



7
8
9
# File 'lib/sink/resources/positional_params.rb', line 7

def initialize(client:)
  @client = client
end

Instance Method Details

#basic_body(params = {}, opts = {}) ⇒ nil

Endpoint with no positional params and a body param.

Parameters:

  • params (Hash{Symbol => Object}) (defaults to: {})

    Attributes to send in this request. @option params [String] :key1 @option params [String, nil] :options

  • opts (Hash, Sink::RequestOptions) (defaults to: {})

    Options to specify HTTP behaviour for this request.

Returns:

  • (nil)


20
21
22
23
24
25
26
27
28
29
# File 'lib/sink/resources/positional_params.rb', line 20

def basic_body(params = {}, opts = {})
  req = {
    method: :post,
    path: "/positional_params/basic_body",
    body: params,
    headers: {"Content-Type" => "application/json"},
    model: NilClass
  }
  @client.request(req, opts)
end

#basic_query(params = {}, opts = {}) ⇒ nil

Endpoint with no positional params and a query object.

Parameters:

  • params (Hash{Symbol => Object}) (defaults to: {})

    Attributes to send in this request. @option params [String] :key1

  • opts (Hash, Sink::RequestOptions) (defaults to: {})

    Options to specify HTTP behaviour for this request.

Returns:

  • (nil)


39
40
41
42
43
44
45
46
47
# File 'lib/sink/resources/positional_params.rb', line 39

def basic_query(params = {}, opts = {})
  req = {
    method: :get,
    path: "/positional_params/basic_query",
    query: params,
    model: NilClass
  }
  @client.request(req, opts)
end

#body(params = {}, opts = {}) ⇒ nil

Endpoint with no positional params and a body object.

Parameters:

  • params (Hash{Symbol => Object}) (defaults to: {})

    Attributes to send in this request. @option params [String, nil] :foo

  • opts (Hash, Sink::RequestOptions) (defaults to: {})

    Options to specify HTTP behaviour for this request.

Returns:

  • (nil)


57
58
59
60
61
62
63
64
65
66
# File 'lib/sink/resources/positional_params.rb', line 57

def body(params = {}, opts = {})
  req = {
    method: :post,
    path: "/positional_params/body",
    body: params,
    headers: {"Content-Type" => "application/json"},
    model: NilClass
  }
  @client.request(req, opts)
end

#body_extra_param(params = {}, opts = {}) ⇒ nil

Endpoint with no positional params and a body object.

Parameters:

  • params (Hash{Symbol => Object}) (defaults to: {})

    Attributes to send in this request. @option params [String] :extra_key @option params [String, nil] :foo

  • opts (Hash, Sink::RequestOptions) (defaults to: {})

    Options to specify HTTP behaviour for this request.

Returns:

  • (nil)


77
78
79
80
81
82
83
84
85
86
# File 'lib/sink/resources/positional_params.rb', line 77

def body_extra_param(params = {}, opts = {})
  req = {
    method: :post,
    path: "/positional_params/body_extra_param",
    body: params,
    headers: {"Content-Type" => "application/json"},
    model: NilClass
  }
  @client.request(req, opts)
end

#kitchen_sink(id, params = {}, opts = {}) ⇒ nil

Endpoint with everything under the sun (to excercise positional params).

Parameters:

  • id (String)

    Path param:

  • params (Hash{Symbol => Object}) (defaults to: {})

    Attributes to send in this request. @option params [String] :key Path param: @option params [String] :im_a_camel Query param: @option params [Boolean] :option1 Query param: @option params [String] :camel_case Body param: @option params [String, nil] :option2 Query param: @option params [String, nil] :really_cool_snake Query param: @option params [Float, nil] :bar Body param: Some cool description. @option params [String, nil] :options Body param: @option params [String, nil] :x_custom_header Header param:

  • opts (Hash, Sink::RequestOptions) (defaults to: {})

    Options to specify HTTP behaviour for this request.

Returns:

  • (nil)


106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/sink/resources/positional_params.rb', line 106

def kitchen_sink(id, params = {}, opts = {})
  query_params = [:imACamel, :option1, :option2, :really_cool_snake]
  req = {
    method: :post,
    path: "/positional_params/query/#{id}/kitchen_sink/#{params.fetch(:key)}",
    query: params.slice(*query_params),
    body: params.except(*query_params),
    headers: {"Content-Type" => "application/json"},
    model: NilClass
  }
  @client.request(req, opts)
end

#multiple_path_params(second, params = {}, opts = {}) ⇒ nil

Endpoint with a positional path parameter in the middle.

Parameters:

  • second (String)

    Path param:

  • params (Hash{Symbol => Object}) (defaults to: {})

    Attributes to send in this request. @option params [String] :first Path param: Something first. @option params [String] :last Path param: Something Last. @option params [String] :name Body param: @option params [String, nil] :options Body param:

  • opts (Hash, Sink::RequestOptions) (defaults to: {})

    Options to specify HTTP behaviour for this request.

Returns:

  • (nil)


132
133
134
135
136
137
138
139
140
141
# File 'lib/sink/resources/positional_params.rb', line 132

def multiple_path_params(second, params = {}, opts = {})
  req = {
    method: :post,
    path: "/positional_params/#{params.fetch(:first)}/#{second}/#{params.fetch(:last)}",
    body: params,
    headers: {"Content-Type" => "application/json"},
    model: NilClass
  }
  @client.request(req, opts)
end

#query(params = {}, opts = {}) ⇒ nil

Endpoint with a positional query parameter.

Parameters:

  • params (Hash{Symbol => Object}) (defaults to: {})

    Attributes to send in this request. @option params [String] :foo

  • opts (Hash, Sink::RequestOptions) (defaults to: {})

    Options to specify HTTP behaviour for this request.

Returns:

  • (nil)


151
152
153
154
155
156
157
158
159
# File 'lib/sink/resources/positional_params.rb', line 151

def query(params = {}, opts = {})
  req = {
    method: :get,
    path: "/positional_params/query",
    query: params,
    model: NilClass
  }
  @client.request(req, opts)
end

#query_and_path(id, params = {}, opts = {}) ⇒ nil

Endpoint with a positional path parameter and a query parameter.

Parameters:

  • id (String)
  • params (Hash{Symbol => Object}) (defaults to: {})

    Attributes to send in this request. @option params [Float] :bar

  • opts (Hash, Sink::RequestOptions) (defaults to: {})

    Options to specify HTTP behaviour for this request.

Returns:

  • (nil)


171
172
173
174
175
176
177
178
179
# File 'lib/sink/resources/positional_params.rb', line 171

def query_and_path(id, params = {}, opts = {})
  req = {
    method: :post,
    path: "/positional_params/query/#{id}",
    query: params,
    model: NilClass
  }
  @client.request(req, opts)
end

#query_multiple(params = {}, opts = {}) ⇒ nil

Endpoint with a positional query parameter.

Parameters:

  • params (Hash{Symbol => Object}) (defaults to: {})

    Attributes to send in this request. @option params [String] :bar Some description about bar. @option params [String] :foo Some description about foo.

  • opts (Hash, Sink::RequestOptions) (defaults to: {})

    Options to specify HTTP behaviour for this request.

Returns:

  • (nil)


190
191
192
193
194
195
196
197
198
# File 'lib/sink/resources/positional_params.rb', line 190

def query_multiple(params = {}, opts = {})
  req = {
    method: :get,
    path: "/positional_params/query_multiple",
    query: params,
    model: NilClass
  }
  @client.request(req, opts)
end

#single(single, opts = {}) ⇒ nil

Endpoint with a single positional path parameter.

Parameters:

  • single (String)
  • opts (Hash, Sink::RequestOptions) (defaults to: {})

    Options to specify HTTP behaviour for this request.

Returns:

  • (nil)


206
207
208
209
210
211
212
213
# File 'lib/sink/resources/positional_params.rb', line 206

def single(single, opts = {})
  req = {
    method: :get,
    path: "/positional_params/#{single}",
    model: NilClass
  }
  @client.request(req, opts)
end

#union_body_and_path(id, params = {}, opts = {}) ⇒ nil

Endpoint with no positional params and a body object.

Parameters:

  • id (String)

    Some id.

  • params (Hash{Symbol => Object}) (defaults to: {})

    Attributes to send in this request. @option params [Symbol, Kind] :kind

  • opts (Hash, Sink::RequestOptions) (defaults to: {})

    Options to specify HTTP behaviour for this request.

Returns:

  • (nil)


225
226
227
228
229
230
231
232
233
234
# File 'lib/sink/resources/positional_params.rb', line 225

def union_body_and_path(id, params = {}, opts = {})
  req = {
    method: :post,
    path: "/positional_params/body/union/#{id}",
    body: params,
    headers: {"Content-Type" => "application/json"},
    model: NilClass
  }
  @client.request(req, opts)
end