Class: GoCardlessPro::Services::TaxRatesService

Inherits:
BaseService
  • Object
show all
Defined in:
lib/gocardless_pro/services/tax_rates_service.rb

Overview

Service for making requests to the TaxRate endpoints

Instance Method Summary collapse

Methods inherited from BaseService

#initialize, #make_request, #sub_url

Constructor Details

This class inherits a constructor from GoCardlessPro::Services::BaseService

Instance Method Details

#all(options = {}) ⇒ Object

Get a lazily enumerated list of all the items returned. This is similar to the ‘list` method but will paginate for you automatically.

Otherwise they will be the body of the request.

Parameters:

  • options (Hash) (defaults to: {})

    parameters as a hash. If the request is a GET, these will be converted to query parameters.



35
36
37
38
39
40
# File 'lib/gocardless_pro/services/tax_rates_service.rb', line 35

def all(options = {})
  Paginator.new(
    service: self,
    options: options
  ).enumerator
end

#get(identity, options = {}) ⇒ Object

Retrieves the details of a tax rate. Example URL: /tax_rates/:identity

Parameters:

  • identity

    # The unique identifier created by the jurisdiction, tax type and version

  • options (Hash) (defaults to: {})

    parameters as a hash, under a params key.



47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/gocardless_pro/services/tax_rates_service.rb', line 47

def get(identity, options = {})
  path = sub_url('/tax_rates/:identity', {
                   'identity' => identity
                 })

  options[:retry_failures] = true

  response = make_request(:get, path, options)

  return if response.body.nil?

  Resources::TaxRate.new(unenvelope_body(response.body), response)
end

#list(options = {}) ⇒ Object

Returns a [cursor-paginated](#api-usage-cursor-pagination) list of all tax rates. Example URL: /tax_rates

Parameters:

  • options (Hash) (defaults to: {})

    parameters as a hash, under a params key.



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/gocardless_pro/services/tax_rates_service.rb', line 17

def list(options = {})
  path = '/tax_rates'

  options[:retry_failures] = true

  response = make_request(:get, path, options)

  ListResponse.new(
    response: response,
    unenveloped_body: unenvelope_body(response.body),
    resource_class: Resources::TaxRate
  )
end