Module: FeatureFlagger::Model::ClassMethods

Defined in:
lib/feature_flagger/model.rb

Instance Method Summary collapse

Instance Method Details

#all_released_ids_for(*feature_key) ⇒ Object



70
71
72
73
# File 'lib/feature_flagger/model.rb', line 70

def all_released_ids_for(*feature_key)
  feature = Feature.new(feature_key, feature_flagger_name)
  FeatureFlagger.control.resource_ids(feature.key, feature_flagger_name)
end

#cleanup_detached(*feature_key) ⇒ Object



98
99
100
# File 'lib/feature_flagger/model.rb', line 98

def cleanup_detached(*feature_key)
  Manager.cleanup_detached(feature_flagger_name, feature_key)
end

#detached_feature_keysObject



94
95
96
# File 'lib/feature_flagger/model.rb', line 94

def detached_feature_keys
  Manager.detached_feature_keys(feature_flagger_name)
end

#feature_flagger {|feature_flagger_model_settings| ... } ⇒ Object

Yields:

Raises:

  • (ArgumentError)


45
46
47
48
49
# File 'lib/feature_flagger/model.rb', line 45

def feature_flagger
  raise ArgumentError unless block_given?

  yield feature_flagger_model_settings
end

#feature_flagger_model_settingsObject



102
103
104
105
106
107
# File 'lib/feature_flagger/model.rb', line 102

def feature_flagger_model_settings
  @feature_flagger_model_settings ||= FeatureFlagger::ModelSettings.new(
    identifier_field: :id,
    entity_name: rollout_resource_name
  )
end

#release_id(resource_id, *feature_key) ⇒ Object



56
57
58
59
# File 'lib/feature_flagger/model.rb', line 56

def release_id(resource_id, *feature_key)
  feature = Feature.new(feature_key, feature_flagger_name)
  FeatureFlagger.control.release(feature.key, feature_flagger_name, resource_id)
end

#release_keys(resource_id) ⇒ Object



61
62
63
# File 'lib/feature_flagger/model.rb', line 61

def release_keys(resource_id)
  FeatureFlagger.control.all_feature_keys(feature_flagger_name, resource_id)
end

#release_to_all(*feature_key) ⇒ Object



75
76
77
78
# File 'lib/feature_flagger/model.rb', line 75

def release_to_all(*feature_key)
  feature = Feature.new(feature_key, feature_flagger_name)
  FeatureFlagger.control.release_to_all(feature.key, feature_flagger_name)
end

#released_features_to_allObject



85
86
87
# File 'lib/feature_flagger/model.rb', line 85

def released_features_to_all
  FeatureFlagger.control.released_features_to_all(feature_flagger_name)
end

#released_id?(resource_id, *feature_key) ⇒ Boolean

Returns:

  • (Boolean)


51
52
53
54
# File 'lib/feature_flagger/model.rb', line 51

def released_id?(resource_id, *feature_key)
  feature = Feature.new(feature_key, feature_flagger_name)
  FeatureFlagger.control.released?(feature.key, feature_flagger_name, resource_id)
end

#released_to_all?(*feature_key) ⇒ Boolean

Returns:

  • (Boolean)


89
90
91
92
# File 'lib/feature_flagger/model.rb', line 89

def released_to_all?(*feature_key)
  feature = Feature.new(feature_key, feature_flagger_name)
  FeatureFlagger.control.released_to_all?(feature.key, feature_flagger_name)
end

#unrelease_id(resource_id, *feature_key) ⇒ Object



65
66
67
68
# File 'lib/feature_flagger/model.rb', line 65

def unrelease_id(resource_id, *feature_key)
  feature = Feature.new(feature_key, feature_flagger_name)
  FeatureFlagger.control.unrelease(feature.key, feature_flagger_name, resource_id)
end

#unrelease_to_all(*feature_key) ⇒ Object



80
81
82
83
# File 'lib/feature_flagger/model.rb', line 80

def unrelease_to_all(*feature_key)
  feature = Feature.new(feature_key, feature_flagger_name)
  FeatureFlagger.control.unrelease_to_all(feature.key, feature_flagger_name)
end