Module: FeatureFlagger::Model::ClassMethods
- Defined in:
- lib/feature_flagger/model.rb
Instance Method Summary collapse
- #all_released_ids_for(*feature_key) ⇒ Object
- #release_to_all(*feature_key) ⇒ Object
- #released_features_to_all ⇒ Object
- #released_id?(resource_id, *feature_key) ⇒ Boolean
- #rollout_resource_name ⇒ Object
- #unrelease_to_all(*feature_key) ⇒ Object
Instance Method Details
#all_released_ids_for(*feature_key) ⇒ Object
49 50 51 52 53 |
# File 'lib/feature_flagger/model.rb', line 49 def all_released_ids_for(*feature_key) feature_key.flatten! feature = Feature.new(feature_key, rollout_resource_name) FeatureFlagger.control.resource_ids(feature.key) end |
#release_to_all(*feature_key) ⇒ Object
55 56 57 58 |
# File 'lib/feature_flagger/model.rb', line 55 def release_to_all(*feature_key) feature = Feature.new(feature_key, rollout_resource_name) FeatureFlagger.control.release_to_all(feature.key) end |
#released_features_to_all ⇒ Object
65 66 67 |
# File 'lib/feature_flagger/model.rb', line 65 def released_features_to_all FeatureFlagger.control.released_features_to_all end |
#released_id?(resource_id, *feature_key) ⇒ Boolean
44 45 46 47 |
# File 'lib/feature_flagger/model.rb', line 44 def released_id?(resource_id, *feature_key) feature = Feature.new(feature_key, rollout_resource_name) FeatureFlagger.control.rollout?(feature.key, resource_id) end |
#rollout_resource_name ⇒ Object
69 70 71 72 73 74 75 76 77 |
# File 'lib/feature_flagger/model.rb', line 69 def rollout_resource_name klass_name = self.to_s klass_name.gsub!(/::/, '_') klass_name.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2') klass_name.gsub!(/([a-z\d])([A-Z])/,'\1_\2') klass_name.tr!("-", "_") klass_name.downcase! klass_name end |
#unrelease_to_all(*feature_key) ⇒ Object
60 61 62 63 |
# File 'lib/feature_flagger/model.rb', line 60 def unrelease_to_all(*feature_key) feature = Feature.new(feature_key, rollout_resource_name) FeatureFlagger.control.unrelease_to_all(feature.key) end |