Module: BetaFeature::Flagger::BetaFeatureInstanceMethods

Defined in:
lib/beta_feature/flagger.rb

Instance Method Summary collapse

Instance Method Details

#all_betasObject



44
45
46
47
48
# File 'lib/beta_feature/flagger.rb', line 44

def all_betas
  @__all_betas__ ||= begin
    clean_betas(find_or_create_beta_feature_setting.betas + BetaFeature.released.keys).to_set
  end
end

#can_access_beta?(*betas) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
22
23
# File 'lib/beta_feature/flagger.rb', line 19

def can_access_beta?(*betas)
  betas = betas.map(&:to_s)
  validate_beta_name(*betas)
  betas.all? {|key| all_betas.include?(key) }
end

#enable_beta!(*betas) ⇒ Object

add feature flags.



26
27
28
29
30
31
32
# File 'lib/beta_feature/flagger.rb', line 26

def enable_beta!(*betas)
  betas = betas.map(&:to_s)
  validate_beta_name(*betas)
  betas = clean_betas(find_or_create_beta_feature_setting.betas + betas)
  beta_feature_setting.update(betas: betas)
  flush_beta_cache
end

#remove_beta!(*betas) ⇒ Object

remove feature flags



35
36
37
38
39
40
41
42
# File 'lib/beta_feature/flagger.rb', line 35

def remove_beta!(*betas)
  betas = betas.map(&:to_s)
  validate_beta_name(*betas)
  betas = clean_betas(find_or_create_beta_feature_setting.betas - betas)
  beta_feature_setting.update(betas: betas)

  flush_beta_cache
end