Class: Kameleoon::Configuration::DataFile

Inherits:
Object
  • Object
show all
Defined in:
lib/kameleoon/configuration/data_file.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(environment, configuration = nil) ⇒ DataFile

Returns a new instance of DataFile.



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/kameleoon/configuration/data_file.rb', line 22

def initialize(environment, configuration = nil)
  Logging::KameleoonLogger.debug('CALL: DataFile.new(environment: %s)', environment)
  @environment = environment
  if configuration.nil?
    init_default
  else
    init(configuration)
  end
  collect_indices
  Logging::KameleoonLogger.debug('RETURN: DataFile.new(environment: %s)', environment)
end

Instance Attribute Details

#custom_data_infoObject (readonly)

Returns the value of attribute custom_data_info.



11
12
13
# File 'lib/kameleoon/configuration/data_file.rb', line 11

def custom_data_info
  @custom_data_info
end

#experiment_ids_with_js_css_variableObject (readonly)

Returns the value of attribute experiment_ids_with_js_css_variable.



11
12
13
# File 'lib/kameleoon/configuration/data_file.rb', line 11

def experiment_ids_with_js_css_variable
  @experiment_ids_with_js_css_variable
end

#feature_flag_by_idObject (readonly)

Returns the value of attribute feature_flag_by_id.



11
12
13
# File 'lib/kameleoon/configuration/data_file.rb', line 11

def feature_flag_by_id
  @feature_flag_by_id
end

#feature_flagsObject (readonly)

Returns the value of attribute feature_flags.



11
12
13
# File 'lib/kameleoon/configuration/data_file.rb', line 11

def feature_flags
  @feature_flags
end

#has_any_targeted_delivery_ruleObject (readonly)

Returns the value of attribute has_any_targeted_delivery_rule.



11
12
13
# File 'lib/kameleoon/configuration/data_file.rb', line 11

def has_any_targeted_delivery_rule
  @has_any_targeted_delivery_rule
end

#rule_by_segment_idObject (readonly)

Returns the value of attribute rule_by_segment_id.



11
12
13
# File 'lib/kameleoon/configuration/data_file.rb', line 11

def rule_by_segment_id
  @rule_by_segment_id
end

#settingsObject (readonly)

Returns the value of attribute settings.



11
12
13
# File 'lib/kameleoon/configuration/data_file.rb', line 11

def settings
  @settings
end

#variation_by_idObject (readonly)

Returns the value of attribute variation_by_id.



11
12
13
# File 'lib/kameleoon/configuration/data_file.rb', line 11

def variation_by_id
  @variation_by_id
end

Instance Method Details

#experiment_js_css_variable?(experiment_id) ⇒ Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/kameleoon/configuration/data_file.rb', line 42

def experiment_js_css_variable?(experiment_id)
  @experiment_ids_with_js_css_variable.include?(experiment_id)
end

#get_feature_flag(feature_key) ⇒ Object



34
35
36
37
38
39
40
# File 'lib/kameleoon/configuration/data_file.rb', line 34

def get_feature_flag(feature_key)
  ff = @feature_flags[feature_key]
  raise Exception::FeatureNotFound, feature_key if ff.nil?
  raise Exception::FeatureEnvironmentDisabled.new(feature_key, @environment) unless ff.environment_enabled

  ff
end

#to_sObject



14
15
16
17
18
19
20
# File 'lib/kameleoon/configuration/data_file.rb', line 14

def to_s
  'DataFile{' \
    "environment:#{@environment}," \
    "feature_flags:#{@feature_flags.size}," \
    "settings:#{@settings}" \
    '}'
end