Class: Pinterest::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/pinterest/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(client_id: nil, client_secret: nil, access_token: nil, redirect_uri: nil, default_scope: nil, **options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • client_id (String) (defaults to: nil)

    Pinterest app ID (required for OAuth token calls)

  • client_secret (String) (defaults to: nil)

    Pinterest app secret (required for OAuth token calls)

  • access_token (String) (defaults to: nil)

    Bearer token (required for authenticated API calls)

  • redirect_uri (String) (defaults to: nil)

    default redirect URI for authorization_url

  • options (Hash)

    overrides for timeout, open_timeout, base_url, auth_url



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/pinterest/client.rb', line 14

def initialize(client_id: nil, client_secret: nil, access_token: nil,
               redirect_uri: nil, default_scope: nil, **options)
  @config = Configuration.new
  @config.client_id     = client_id     || Pinterest.configuration.client_id
  @config.client_secret = client_secret || Pinterest.configuration.client_secret
  @config.access_token  = access_token  || Pinterest.configuration.access_token
  @config.redirect_uri  = redirect_uri  || Pinterest.configuration.redirect_uri
  @config.default_scope = default_scope || Pinterest.configuration.default_scope

  options.each do |key, value|
    @config.public_send(:"#{key}=", value) if @config.respond_to?(:"#{key}=")
  end
end

Instance Method Details

#access_token=(token) ⇒ Object

Update the stored access token (e.g. after a refresh).



49
50
51
52
# File 'lib/pinterest/client.rb', line 49

def access_token=(token)
  @config.access_token = token
  @oauth = nil  # reset memoized resource so it picks up the new token
end

#audiencesResources::Audiences



34
35
36
# File 'lib/pinterest/client.rb', line 34

def audiences
  @audiences ||= Resources::Audiences.new(@config)
end

#customer_list_uploadsResources::CustomerListUploads



44
45
46
# File 'lib/pinterest/client.rb', line 44

def customer_list_uploads
  @customer_list_uploads ||= Resources::CustomerListUploads.new(@config)
end

#customer_listsResources::CustomerLists



39
40
41
# File 'lib/pinterest/client.rb', line 39

def customer_lists
  @customer_lists ||= Resources::CustomerLists.new(@config)
end

#oauthResources::OAuth

Returns:



29
30
31
# File 'lib/pinterest/client.rb', line 29

def oauth
  @oauth ||= Resources::OAuth.new(@config)
end