Module: CanaryLabs

Defined in:
lib/feature.rb,
lib/canary_labs.rb,
lib/resolvers/group.rb,
lib/canary_labs/version.rb,
lib/resolvers/percentage.rb

Defined Under Namespace

Modules: Resolvers Classes: Feature

Constant Summary collapse

VERSION =
"0.4.0"

Class Method Summary collapse

Class Method Details

.add(name, desc, resolver) ⇒ Object



22
23
24
# File 'lib/canary_labs.rb', line 22

def self.add name, desc, resolver
  @@experiments[name] = Feature.new name, desc, resolver
end

.allObject



30
31
32
# File 'lib/canary_labs.rb', line 30

def self.all
  @@experiments.values
end

.find(name) ⇒ Object



26
27
28
# File 'lib/canary_labs.rb', line 26

def self.find name
  @@experiments[name]
end

.participating?(feat_name, id) ⇒ Boolean

Returns:

  • (Boolean)


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

def self.participating? feat_name, id
  experiment = @@experiments[feat_name]

  return @@default_participation if experiment.nil?

  experiment.participating? id
end

.setup(default_participation: true) ⇒ Object



9
10
11
12
# File 'lib/canary_labs.rb', line 9

def self.setup default_participation: true
  @@experiments = {}
  @@default_participation = default_participation
end