Class: PixivApi::Client

Defined Under Namespace

Classes: UnsupportedApiError

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Request::Signup

#signup, #signup_send_mail, #signup_validation, #signup_validation_check_code, #signup_validation_send_mail

Methods included from Request::UploadWork

#upload, #upload_status

Methods included from Request::Works

#my_works, #user_works, #work, #works

Methods included from Request::Version

#version

Methods included from Request::Util

#action_from_response, #object_from_response, #objects_from_response

Methods included from Request::Users

#me, #user

Methods included from Request::Trends

#trend_tags, #trend_works

Methods included from Request::Search

#search_works

Methods included from Request::Ranking

#ranking_novel

Methods included from Request::Promotions

#delete_promotions, #promotions, #update_promotions

Methods included from Request::Profiles

#profiles

Methods included from Request::Novels

#my_novels, #novel, #novels, #user_novels

Methods included from Request::Friends

#friends

Methods included from Request::FavoriteUsers

#delete_favorite_users, #favorite_user, #favorite_users

Constructor Details

#initialize(access_token:, refresh_token:, expires_at:) ⇒ Client

Returns a new instance of Client.



34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/pixiv_api/client.rb', line 34

def initialize(access_token:, refresh_token:, expires_at:)
  token_hash = {
    access_token: access_token,
    refresh_token: refresh_token,
    expires_at: expires_at.to_i
  }

  @client = OAuth2::Client.new(*client_configuration) do |builder|
    builder.request :multipart
    builder.request :url_encoded
    builder.adapter Faraday.default_adapter
  end
  @access_token = OAuth2::AccessToken.from_hash(client, token_hash)
end

Instance Attribute Details

#access_tokenObject (readonly)

Returns the value of attribute access_token.



25
26
27
# File 'lib/pixiv_api/client.rb', line 25

def access_token
  @access_token
end

#clientObject (readonly)

Returns the value of attribute client.



25
26
27
# File 'lib/pixiv_api/client.rb', line 25

def client
  @client
end

Class Method Details

.from_account(id:, password:) ⇒ Object

For development



30
31
32
# File 'lib/pixiv_api/client.rb', line 30

def self.(id:, password:)
  PixivApi::Authentication.new(id: id, password: password).to_client
end

Instance Method Details

#refresh!Object



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

def refresh!
  @access_token = @access_token.refresh!
end