-
Notifications
You must be signed in to change notification settings - Fork 491
Open
Description
Hi friends! Thank you for your great work with this gem ✨
I am having a problem in Rails apps where Scientist::Experiment defaults to the original Default object until the custom one is called - leading to some head-scratching about why the try block is not running even when enabled? is set to true.
I'm unsure whether this is a problem with the Rails load order because of how I've arranged my files, whether the examples in the README could be a little better, or whether there's genuinely a bug here.
$ bundle exec rails console
Loading development environment (Rails 5.1.6)
irb(main):001:0> Scientist::Experiment.new "something"
=> #<Scientist::Default:0x00007fd667bbcd40 @name="something">
irb(main):002:0> LdapExperiment.new(name: "something")
=> #<LdapExperiment:0x00007fd667b6ee10 @name="something">
irb(main):003:0> Scientist::Experiment.new "something"
=> #<LdapExperiment:0x00007fd667b34968 @name="something">
I've followed the instructions in the README, which are delightful and comprehensive.
# app/experiments/ldap_experiment.rb
require "scientist/experiment"
class LdapExperiment
include Scientist::Experiment
attr_accessor :name
def initialize(name:)
@name = name
end
def enabled?
# ...
end
def publish(result)
# ...
end
end
module Scientist::Experiment
def self.new(name)
LdapExperiment.new(name: name)
end
end# app/models/whatever.rb
class Whatever
include Scientist
def do_something
science "role lookup" do |e|
e.use { do_one_thing }
e.try { do_some_other_thing }
end
end
endThis is occurring in Rails 3.2.x and Rails 5.1.x applications, with version 1.2.0 of the gem.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Fields
Give feedbackNo fields configured for issues without a type.