Class: Optimizely::OptimizelyFactory
- Inherits:
-
Object
- Object
- Optimizely::OptimizelyFactory
- Defined in:
- lib/optimizely/optimizely_factory.rb
Instance Attribute Summary collapse
-
#max_event_batch_size ⇒ Object
readonly
Returns the value of attribute max_event_batch_size.
-
#max_event_flush_interval ⇒ Object
readonly
Returns the value of attribute max_event_flush_interval.
Class Method Summary collapse
-
.custom_instance(sdk_key, datafile = nil, event_dispatcher = nil, logger = nil, error_handler = nil, skip_json_validation = false, user_profile_service = nil, config_manager = nil, notification_center = nil) ⇒ Object
Returns a new optimizely instance.
-
.default_instance(sdk_key, datafile = nil) ⇒ Object
Returns a new optimizely instance.
-
.default_instance_with_config_manager(config_manager) ⇒ Object
Returns a new optimizely instance.
-
.max_event_batch_size(batch_size, logger) ⇒ Object
Convenience method for setting the maximum number of events contained within a batch.
-
.max_event_flush_interval(flush_interval, logger) ⇒ Object
Convenience method for setting the maximum time interval in milliseconds between event dispatches.
Instance Attribute Details
#max_event_batch_size ⇒ Object (readonly)
Returns the value of attribute max_event_batch_size.
24 25 26 |
# File 'lib/optimizely/optimizely_factory.rb', line 24 def max_event_batch_size @max_event_batch_size end |
#max_event_flush_interval ⇒ Object (readonly)
Returns the value of attribute max_event_flush_interval.
24 25 26 |
# File 'lib/optimizely/optimizely_factory.rb', line 24 def max_event_flush_interval @max_event_flush_interval end |
Class Method Details
.custom_instance(sdk_key, datafile = nil, event_dispatcher = nil, logger = nil, error_handler = nil, skip_json_validation = false, user_profile_service = nil, config_manager = nil, notification_center = nil) ⇒ Object
Returns a new optimizely instance.
if @max_event_batch_size and @max_event_flush_interval are nil then default batchsize and flush_interval will be used to setup batchEventProcessor.
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
# File 'lib/optimizely/optimizely_factory.rb', line 100 def self.custom_instance( sdk_key, datafile = nil, event_dispatcher = nil, logger = nil, error_handler = nil, skip_json_validation = false, user_profile_service = nil, config_manager = nil, notification_center = nil ) event_processor = BatchEventProcessor.new( event_dispatcher: event_dispatcher || EventDispatcher.new, batch_size: @max_event_batch_size, flush_interval: @max_event_flush_interval, notification_center: notification_center ) Optimizely::Project.new( datafile, event_dispatcher, logger, error_handler, skip_json_validation, user_profile_service, sdk_key, config_manager, notification_center, event_processor ) end |
.default_instance(sdk_key, datafile = nil) ⇒ Object
Returns a new optimizely instance.
74 75 76 |
# File 'lib/optimizely/optimizely_factory.rb', line 74 def self.default_instance(sdk_key, datafile = nil) Optimizely::Project.new(datafile, nil, nil, nil, nil, nil, sdk_key) end |
.default_instance_with_config_manager(config_manager) ⇒ Object
Returns a new optimizely instance.
81 82 83 |
# File 'lib/optimizely/optimizely_factory.rb', line 81 def self.default_instance_with_config_manager(config_manager) Optimizely::Project.new(nil, nil, nil, nil, nil, nil, nil, config_manager) end |
.max_event_batch_size(batch_size, logger) ⇒ Object
Convenience method for setting the maximum number of events contained within a batch.
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/optimizely/optimizely_factory.rb', line 29 def self.max_event_batch_size(batch_size, logger) unless batch_size.is_a? Integer logger.log( Logger::ERROR, "Batch size is invalid, setting to default batch size #{BatchEventProcessor::DEFAULT_BATCH_SIZE}." ) return end unless batch_size.positive? logger.log( Logger::ERROR, "Batch size is negative, setting to default batch size #{BatchEventProcessor::DEFAULT_BATCH_SIZE}." ) return end @max_event_batch_size = batch_size end |
.max_event_flush_interval(flush_interval, logger) ⇒ Object
Convenience method for setting the maximum time interval in milliseconds between event dispatches.
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/optimizely/optimizely_factory.rb', line 51 def self.max_event_flush_interval(flush_interval, logger) unless flush_interval.is_a? Numeric logger.log( Logger::ERROR, "Flush interval is invalid, setting to default flush interval #{BatchEventProcessor::DEFAULT_BATCH_INTERVAL}." ) return end unless flush_interval.positive? logger.log( Logger::ERROR, "Flush interval is negative, setting to default flush interval #{BatchEventProcessor::DEFAULT_BATCH_INTERVAL}." ) return end @max_event_flush_interval = flush_interval end |