This adds a method to Gitlab::GonHelper called
`push_frontend_feature_flag`. This method can be used to easily expose
the state of a feature flag to Javascript code. For example, using this
method we may write the following controller code:
before_action do
push_frontend_feature_flag(:vim_bindings)
end
def index
# ...
end
def edit
# ...
end
In Javascript we can then check the state of the flag as follows:
if ( gon.features.vimBindings ) {
// ...
}
Fixes https://gitlab.com/gitlab-org/release/framework/issues/17
This adds a development guide explaining that we are going to use
feature flags more often, why, what the benefits are, and so on.
See https://gitlab.com/gitlab-org/gitlab-ce/issues/49619 for more
information.
Previous code would not work with `disabled?` because that method would
send two parameters (second always `nil`) which we are not mocking.
Instead of mock yet another state, I decide to fix it where it belongs.