Module: Fino::Library::AbTestingAnalysisSupport
- Included in:
- Fino::Library
- Defined in:
- lib/fino/library/ab_testing_analysis_support.rb
Constant Summary collapse
- SettingNotAbTested =
Class.new(Fino::Error)
- AdapterDoesNotSupportAbTestingAnalysis =
Class.new(Fino::Error)
Instance Method Summary collapse
- #analyse(setting_name, at: nil) ⇒ Object
- #convert(setting_name, at: nil, time: Time.now, **context) ⇒ Object
- #convert!(setting_name, at: nil, for: nil, time: Time.now) ⇒ Object
- #reset_analysis!(setting_name, at: nil) ⇒ Object
Instance Method Details
#analyse(setting_name, at: nil) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/fino/library/ab_testing_analysis_support.rb', line 24 def analyse(setting_name, at: nil) ensure_ab_testing_analysis_supported! setting_instance = fetch_ab_testable_setting(setting_name, at: at) raw_conversions = adapter.read_ab_testing_conversions( setting_instance.definition, setting_instance.experiment.variants ) Fino::AbTesting::Analysis.from_raw_conversions(setting_instance, raw_conversions) end |
#convert(setting_name, at: nil, time: Time.now, **context) ⇒ Object
18 19 20 21 22 |
# File 'lib/fino/library/ab_testing_analysis_support.rb', line 18 def convert(setting_name, at: nil, time: Time.now, **context) convert!(setting_name, at: at, time: time, **context) rescue SettingNotAbTested, AdapterDoesNotSupportAbTestingAnalysis nil end |
#convert!(setting_name, at: nil, for: nil, time: Time.now) ⇒ Object
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/fino/library/ab_testing_analysis_support.rb', line 7 def convert!(setting_name, at: nil, for: nil, time: Time.now) ensure_ab_testing_analysis_supported! scope = binding.local_variable_get(:for) setting_instance = fetch_ab_testable_setting(setting_name, at: at) variant = setting_instance.experiment.variant(for: scope) adapter.record_ab_testing_conversion(setting_instance.definition, variant, scope, time) end |
#reset_analysis!(setting_name, at: nil) ⇒ Object
36 37 38 39 40 41 |
# File 'lib/fino/library/ab_testing_analysis_support.rb', line 36 def reset_analysis!(setting_name, at: nil) ensure_ab_testing_analysis_supported! setting_instance = fetch_ab_testable_setting(setting_name, at: at) adapter.clear_ab_testing_conversions(setting_instance.definition.key) end |