Migrate to flipper
This commit is contained in:
parent
28d869e818
commit
65e227c44b
33 changed files with 186 additions and 181 deletions
46
config/initializers/flipper.rb
Normal file
46
config/initializers/flipper.rb
Normal file
|
@ -0,0 +1,46 @@
|
|||
Flipper.configure do |config|
|
||||
config.default do
|
||||
Flipper.new(Flipper::Adapters::ActiveRecord.new)
|
||||
end
|
||||
end
|
||||
|
||||
Flipper.register('Administrateurs') do |user|
|
||||
user.administrateur_id.present?
|
||||
end
|
||||
Flipper.register('Instructeurs') do |user|
|
||||
user.instructeur_id.present?
|
||||
end
|
||||
|
||||
# This setup is primarily for first deployment, because consequently
|
||||
# we can add new features from the Web UI. However when the new DB is created
|
||||
# this will immediately migrate the default features to be controlled.
|
||||
def setup_features(features)
|
||||
features.each do |feature|
|
||||
if Flipper.exist?(feature)
|
||||
return
|
||||
end
|
||||
|
||||
# Disable feature by default
|
||||
Flipper.disable(feature)
|
||||
end
|
||||
end
|
||||
|
||||
# A list of features to be deployed on first push
|
||||
features = [
|
||||
:administrateur_champ_integer_number,
|
||||
:administrateur_web_hook,
|
||||
:insee_api_v3,
|
||||
:instructeur_bypass_email_login_token,
|
||||
:instructeur_download_as_zip,
|
||||
:maintenance_mode,
|
||||
:mini_profiler,
|
||||
:operation_log_serialize_subject,
|
||||
:pre_maintenance_mode,
|
||||
:xray
|
||||
]
|
||||
|
||||
ActiveSupport.on_load(:active_record) do
|
||||
if ActiveRecord::Base.connection.data_source_exists? 'flipper_features'
|
||||
setup_features(features)
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue