Module: Conversant

Defined in:
lib/conversant.rb,
lib/conversant/v3.rb,
lib/conversant/v3/base.rb,
lib/conversant/version.rb,
lib/conversant/configuration.rb,
lib/conversant/v3/http_client.rb,
lib/conversant/v3/services/cdn.rb,
lib/conversant/v3/services/lms.rb,
lib/conversant/v3/services/oss.rb,
lib/conversant/v3/services/vms.rb,
lib/conversant/v3/services/portal.rb,
lib/conversant/v3/services/lms/job.rb,
lib/conversant/v3/services/cdn/audit.rb,
lib/conversant/v3/services/cdn/domain.rb,
lib/conversant/v3/services/lms/domain.rb,
lib/conversant/v3/services/lms/preset.rb,
lib/conversant/v3/services/cdn/partner.rb,
lib/conversant/v3/services/lms/partner.rb,
lib/conversant/v3/services/oss/partner.rb,
lib/conversant/v3/services/vms/partner.rb,
lib/conversant/v3/mixins/authentication.rb,
lib/conversant/v3/services/cdn/business.rb,
lib/conversant/v3/services/vms/business.rb,
lib/conversant/v3/services/authorization.rb,
lib/conversant/v3/services/cdn/analytics.rb,
lib/conversant/v3/services/cdn/dashboard.rb,
lib/conversant/v3/services/lms/dashboard.rb,
lib/conversant/v3/services/vms/analytics.rb,
lib/conversant/v3/services/cdn/monitoring.rb,
lib/conversant/v3/services/cdn/certificate.rb,
lib/conversant/v3/services/vms/transcoding.rb,
lib/conversant/v3/services/portal/dashboard.rb,
lib/conversant/v3/services/lms/partner/report.rb,
lib/conversant/v3/services/lms/partner/business.rb,
lib/conversant/v3/services/vms/partner/business.rb,
lib/conversant/v3/services/cdn/partner/analytics.rb,
lib/conversant/v3/services/lms/partner/analytics.rb,
lib/conversant/v3/services/oss/partner/analytics.rb,
lib/conversant/v3/services/vms/partner/analytics.rb

Overview

Conversant Ruby Gem

A Ruby client library for interacting with Conversant/SwiftFederation CDN services. Provides clean interfaces for Portal, CDN, and LMS APIs with V3 authentication support.

Examples:

Basic usage with zero configuration

# If ENV variables are already set, just use it:
portal = Conversant::V3.portal(customer_id)
cdn = Conversant::V3.cdn(customer_id)
lms = Conversant::V3.lms(customer_id)

Manual configuration

Conversant.configure do |config|
  config.private_cdn_endpoint = 'https://cdn.example.com'
  config.private_lms_endpoint = 'https://lms.example.com'
  config.redis = Redis.new(url: ENV['REDIS_URL'])
end

See Also:

Author:

  • Tho Nguyen

Defined Under Namespace

Modules: V3 Classes: ApiError, AuthenticationError, Configuration, Error

Constant Summary collapse

VERSION =
'1.0.17'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationConfiguration



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

def configuration
  @configuration
end

Class Method Details

.auto_configure!Configuration

Auto-configure from environment variables

Automatically loads configuration from ENV variables and validates. Uses existing CONVERSANT environment variables as defaults.

Examples:

Conversant.auto_configure!

Raises:

  • (Error)

    if required configuration is missing



79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/conversant.rb', line 79

def self.auto_configure!
  self.configuration = Configuration.new

  # Auto-detect and set Redis if available
  if defined?($redis) && $redis
    configuration.redis = $redis
  elsif defined?(Redis) && ENV['REDIS_URL']
    configuration.redis = Redis.new(url: ENV['REDIS_URL'])
  elsif defined?(Redis)
    configuration.redis = Redis.new
  end

  configuration.validate!
  configuration
end

.configure {|config| ... } ⇒ Configuration

Configure the Conversant gem

Examples:

Conversant.configure do |config|
  config.cache_ttl = 3600
  config.debug_mode = true
end

Yields:

  • (config)

    Configuration object

Yield Parameters:



63
64
65
66
67
# File 'lib/conversant.rb', line 63

def self.configure
  self.configuration ||= Configuration.new
  yield(configuration) if block_given?
  configuration
end

.configured?Boolean

Check if gem is configured



105
106
107
# File 'lib/conversant.rb', line 105

def self.configured?
  !configuration.nil?
end

.reset_configuration!Configuration

Reset configuration to defaults



98
99
100
# File 'lib/conversant.rb', line 98

def self.reset_configuration!
  self.configuration = Configuration.new
end