Module: Redd

Defined in:
lib/redd.rb,
lib/redd/error.rb,
lib/redd/access.rb,
lib/redd/version.rb,
lib/redd/rate_limit.rb,
lib/redd/clients/web.rb,
lib/redd/clients/base.rb,
lib/redd/objects/base.rb,
lib/redd/objects/user.rb,
lib/redd/objects/thing.rb,
lib/redd/clients/script.rb,
lib/redd/objects/comment.rb,
lib/redd/objects/listing.rb,
lib/redd/clients/userless.rb,
lib/redd/clients/base/none.rb,
lib/redd/clients/base/read.rb,
lib/redd/clients/installed.rb,
lib/redd/objects/subreddit.rb,
lib/redd/objects/wiki_page.rb,
lib/redd/objects/submission.rb,
lib/redd/clients/base/stream.rb,
lib/redd/clients/base/submit.rb,
lib/redd/response/parse_json.rb,
lib/redd/clients/base/account.rb,
lib/redd/response/raise_error.rb,
lib/redd/clients/base/identity.rb,
lib/redd/clients/base/wikiread.rb,
lib/redd/objects/labeled_multi.rb,
lib/redd/objects/more_comments.rb,
lib/redd/objects/thing/votable.rb,
lib/redd/clients/base/utilities.rb,
lib/redd/objects/thing/editable.rb,
lib/redd/objects/thing/hideable.rb,
lib/redd/objects/thing/saveable.rb,
lib/redd/objects/private_message.rb,
lib/redd/objects/thing/inboxable.rb,
lib/redd/objects/thing/messageable.rb,
lib/redd/objects/thing/moderatable.rb,
lib/redd/objects/thing/refreshable.rb,
lib/redd/clients/base/privatemessages.rb

Overview

rubocop:disable Metrics/MethodLength, Metrics/AbcSize

Defined Under Namespace

Modules: Clients, Objects, Response Classes: Access, Error, RateLimit

Constant Summary collapse

VERSION =

The semantic version number.

'0.0.5'.freeze

Class Method Summary collapse

Class Method Details

.it(: installed, client_id, redirect_uri, **kwargs) ⇒ Clients::Installed .it(: script, client_id, secret, username, password, **kwargs) ⇒ Clients::Script .it(: userless, client_id, secret, **kwargs) ⇒ Clients::Userless .it(: web, client_id, secret, redirect_uri, **kwargs) ⇒ Clients::Web

Overloads:

  • .it(: installed, client_id, redirect_uri, **kwargs) ⇒ Clients::Installed

    Authorize a user via an installed app.

    Parameters:

    • client_id (String)

      The client ID provided by reddit.

    • redirect_uri (String)

      The exact uri you provided to reddit.

    • kwargs (Hash)

      The keyword arguments provided to the client.

    Returns:

  • .it(: script, client_id, secret, username, password, **kwargs) ⇒ Clients::Script

    Authorize a user that you have full access to, i.e. a bot.

    Parameters:

    • client_id (String)

      The client ID provided by reddit.

    • secret (String)

      The client secret provided by reddit.

    • username (String)

      The username.

    • password (String)

      The password of the user.

    • kwargs (Hash)

      The keyword arguments provided to the client.

    Returns:

  • .it(: userless, client_id, secret, **kwargs) ⇒ Clients::Userless

    Connect to reddit from a web-app or a script without a specific user.

    Parameters:

    • client_id (String)

      The client ID provided by reddit.

    • secret (String)

      The client secret provided by reddit.

    • kwargs (Hash)

      The keyword arguments provided to the client.

    Returns:

  • .it(: web, client_id, secret, redirect_uri, **kwargs) ⇒ Clients::Web

    Authorize a user from a website.

    Parameters:

    • client_id (String)

      The client ID provided by reddit.

    • secret (String)

      The client secret provided by reddit.

    • redirect_uri (String)

      The exact uri you provided to reddit.

    • kwargs (Hash)

      The keyword arguments provided to the client.

    Returns:



40
41
42
43
44
45
46
47
48
49
# File 'lib/redd.rb', line 40

def self.it(type, *args, **kwargs)
  types = {
    installed: Clients::Installed,
    script: Clients::Script,
    userless: Clients::Userless,
    web: Clients::Web
  }

  types[type].new(*args, **kwargs)
end