class TrailGuide::Variants
Attributes
to_a[R]
variants[R]
Public Class Methods
new(*vars)
click to toggle source
# File lib/trail_guide/variants.rb, line 7 def initialize(*vars) @variants = vars.flatten end
Public Instance Methods
control()
click to toggle source
# File lib/trail_guide/variants.rb, line 15 def control variants.find { |var| var.control? } end
dup(experiment)
click to toggle source
# File lib/trail_guide/variants.rb, line 11 def dup(experiment) self.class.new(variants.map { |var| var.dup(experiment) }) end
method_missing(meth, *args, &block)
click to toggle source
Calls superclass method
# File lib/trail_guide/variants.rb, line 19 def method_missing(meth, *args, &block) variant = variants.find { |var| var == meth } return variant if variant.present? if variants.respond_to?(meth, true) result = variants.send(meth, *args, &block) if result.is_a?(Array) return self.class.new(result) else return result end end super end
respond_to_missing?(meth, include_private=false)
click to toggle source
# File lib/trail_guide/variants.rb, line 35 def respond_to_missing?(meth, include_private=false) variants.find { |var| var == meth }.present? || variants.respond_to?(meth, include_private) end