Class: Gxapi::GoogleAnalytics
- Inherits:
-
Object
- Object
- Gxapi::GoogleAnalytics
- Defined in:
- lib/gxapi/google_analytics.rb
Constant Summary collapse
- CACHE_KEY =
"gxapi-google-analytics-experiments"
Instance Method Summary collapse
-
#get_experiment(name) ⇒ Gxapi::Ostruct
Gets the experiment that has this name.
-
#get_experiments ⇒ Array<Gxapi::Ostruct>
return a list of all experiments.
-
#get_variant(experiment_name) ⇒ Gxapi::Ostruct
get a variant for an experiment.
-
#reload_experiments ⇒ Object
reset and return a list of all experiments.
Instance Method Details
#get_experiment(name) ⇒ Gxapi::Ostruct
Gets the experiment that has this name
14 15 16 |
# File 'lib/gxapi/google_analytics.rb', line 14 def get_experiment(name) self.get_experiments.find{|experiment| experiment.name == name} end |
#get_experiments ⇒ Array<Gxapi::Ostruct>
return a list of all experiments
22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/gxapi/google_analytics.rb', line 22 def get_experiments @experiments ||= begin # fetch our data from the cache data = Gxapi.with_error_handling do # handle caching self.list_experiments_from_cache end # turn into Gxapi::Ostructs (data || []).collect{|data| Ostruct.new(data)} end end |
#get_variant(experiment_name) ⇒ Gxapi::Ostruct
get a variant for an experiment
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/gxapi/google_analytics.rb', line 40 def get_variant(experiment_name) # pull in an experiment experiment = self.get_experiment(experiment_name) if self.run_experiment?(experiment) # select variant for the experiment variant = self.select_variant(experiment) # return if it it's present return variant if variant.present? end # return blank value if we don't have an experiment or don't get # a valid value return Ostruct.new( name: "default", index: -1, experiment_id: nil ) end |
#reload_experiments ⇒ Object
reset and return a list of all experiments
63 64 65 66 |
# File 'lib/gxapi/google_analytics.rb', line 63 def reload_experiments Gxapi.cache.delete(CACHE_KEY) self.get_experiments end |