Sha256: 762817a697c6dd40bea6149c7d567495244c5929f1616cc106be9e1680f84581

Contents?: true

Size: 1.48 KB

Versions: 4

Compression:

Stored size: 1.48 KB

Contents

require "goodreads/client"
require "goodreads/client/books"
require "goodreads/client/reviews"
require "goodreads/client/authors"
require "goodreads/client/users"
require "goodreads/client/shelves"
require "goodreads/client/authorized"
require "goodreads/client/groups"
require "goodreads/client/friends"

module Goodreads
  class Client
    include Goodreads::Request
    include Goodreads::Books
    include Goodreads::Reviews
    include Goodreads::Authors
    include Goodreads::Users
    include Goodreads::Shelves
    include Goodreads::Authorized
    include Goodreads::Groups
    include Goodreads::Friends

    attr_reader :api_key, :api_secret, :oauth_token

    # Initialize a Goodreads::Client instance
    #
    # options[:api_key]     - Account API key
    # options[:api_secret]  - Account API secret
    # options[:oauth_token] - OAuth access token (optional, required for some calls)
    #
    def initialize(options = {})
      fail(ArgumentError, "Options hash required.") unless options.is_a?(Hash)

      @api_key     = options[:api_key] || Goodreads.configuration[:api_key]
      @api_secret  = options[:api_secret] || Goodreads.configuration[:api_secret]
      @oauth_token = options[:oauth_token]
    end

    # Return if this client is configured with OAuth credentials
    # for a single user
    #
    # False when client is instantiated with an api_key and secret,
    # true when client is instantiated with an oauth_token
    def oauth_configured?
      !oauth_token.nil?
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
goodreads-0.9.0 lib/goodreads/client.rb
goodreads-0.8.0 lib/goodreads/client.rb
goodreads-0.7.0 lib/goodreads/client.rb
goodreads-0.6.2 lib/goodreads/client.rb