Class: Yt::Models::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/yt/models/configuration.rb

Overview

Provides an object to store global configuration settings.

This class is typically not used directly, but by calling Yt.configure, which creates and updates a single instance of Configuration.

An alternative way to set global configuration settings is by storing them in the following environment variables:

  • YT_CLIENT_ID to store the Client ID for web/device apps

  • YT_CLIENT_SECRET to store the Client Secret for web/device apps

  • YT_API_KEY to store the API key for server/browser apps

  • YT_LOG_LEVEL to store the verbosity level of the logs

In case both methods are used together, Yt.configure takes precedence.

Examples:

Set the API client id/secret for a web-client YouTube app:

Yt.configure do |config|
  config.client_id = 'ABCDEFGHIJ1234567890'
  config.client_secret = 'ABCDEFGHIJ1234567890'
end

Set the API client id/secret for a web-client YouTube app:

ENV['YT_CLIENT_ID'] = 'ABCDEFGHIJ1234567890'
ENV['YT_CLIENT_SECRET'] = 'ABCDEFGHIJ1234567890'

See Also:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Initialize the global configuration settings, using the values of the specified following environment variables by default.



50
51
52
53
54
55
# File 'lib/yt/models/configuration.rb', line 50

def initialize
  @client_id = ENV['YT_CLIENT_ID']
  @client_secret = ENV['YT_CLIENT_SECRET']
  @api_key = ENV['YT_API_KEY']
  @log_level = ENV['YT_LOG_LEVEL']
end

Instance Attribute Details

#api_keyString

Returns the API key for server/browser YouTube applications.

Returns:

  • (String)

    the API key for server/browser YouTube applications.

See Also:



43
44
45
# File 'lib/yt/models/configuration.rb', line 43

def api_key
  @api_key
end

#client_idString

Returns the Client ID for web/device YouTube applications.

Returns:

  • (String)

    the Client ID for web/device YouTube applications.

See Also:



35
36
37
# File 'lib/yt/models/configuration.rb', line 35

def client_id
  @client_id
end

#client_secretString

Returns the Client Secret for web/device YouTube applications.

Returns:

  • (String)

    the Client Secret for web/device YouTube applications.

See Also:



39
40
41
# File 'lib/yt/models/configuration.rb', line 39

def client_secret
  @client_secret
end

#log_levelString

Returns the level of output to print for debugging purposes.

Returns:

  • (String)

    the level of output to print for debugging purposes.



46
47
48
# File 'lib/yt/models/configuration.rb', line 46

def log_level
  @log_level
end

Instance Method Details

#debugging?Boolean

Returns whether the logging output is verbose. Useful when debugging (e.g., to print the curl of failing requests).

Returns:

  • (Boolean)

    whether the logging output is verbose. Useful when debugging (e.g., to print the curl of failing requests).



65
66
67
# File 'lib/yt/models/configuration.rb', line 65

def debugging?
  log_level.to_s.in? %w(devel debug)
end

#developing?Boolean

Returns whether the logging output is extra-verbose. Useful when developing (e.g., to print the curl of every request).

Returns:

  • (Boolean)

    whether the logging output is extra-verbose. Useful when developing (e.g., to print the curl of every request).



59
60
61
# File 'lib/yt/models/configuration.rb', line 59

def developing?
  log_level.to_s.in? %w(devel)
end