Module: LightrateRails

Defined in:
lib/lightrate_rails.rb,
lib/lightrate_rails/engine.rb,
lib/lightrate_rails/errors.rb,
lib/lightrate_rails/version.rb,
lib/lightrate_rails/configuration.rb,
lib/lightrate_rails/controller_helper.rb

Defined Under Namespace

Modules: ControllerHelper Classes: Configuration, ConfigurationError, Engine, Error, LightRateNoTokensAvailable

Constant Summary collapse

VERSION =
"1.0.1"

Class Method Summary collapse

Class Method Details

.clientObject



20
21
22
# File 'lib/lightrate_rails.rb', line 20

def client
  @client ||= create_client
end

.configurationObject



16
17
18
# File 'lib/lightrate_rails.rb', line 16

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



12
13
14
# File 'lib/lightrate_rails.rb', line 12

def configure
  yield(configuration)
end

.create_clientObject

Raises:



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/lightrate_rails.rb', line 24

def create_client
  raise ConfigurationError, "API key is required" unless configuration.api_key
  raise ConfigurationError, "Application ID is required" unless configuration.application_id

  @client = LightrateClient::Client.new(
    configuration.api_key,
    configuration.application_id,
    {
      timeout: configuration.timeout,
      retry_attempts: configuration.retry_attempts,
      logger: configuration.logger,
      default_local_bucket_size: configuration.default_local_bucket_size
    }
  )
end

.reset!Object



40
41
42
43
# File 'lib/lightrate_rails.rb', line 40

def reset!
  @configuration = nil
  @client = nil
end