https://github.com/andrew/flipper
🐬 Beautiful, performant feature flags for Ruby.
Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
2 of 144 committers (1.4%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.8%) to scientific vocabulary
Keywords from Contributors
electricitymap
labels
authorization
Last synced: 10 months ago
·
JSON representation
Repository
🐬 Beautiful, performant feature flags for Ruby.
Basic Info
- Host: GitHub
- Owner: andrew
- License: mit
- Default Branch: main
- Homepage: https://www.flippercloud.io/docs
- Size: 7.66 MB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Fork of flippercloud/flipper
Created over 1 year ago
· Last pushed over 1 year ago
https://github.com/andrew/flipper/blob/main/
[](https://www.flippercloud.io)
[Website](https://flippercloud.io?utm_source=oss&utm_medium=readme&utm_campaign=website_link) | [Documentation](https://flippercloud.io/docs?utm_source=oss&utm_medium=readme&utm_campaign=docs_link) | [Examples](examples) | [Chat](https://chat.flippercloud.io/join/xjHq-aJsA-BeZH) | [Twitter](https://twitter.com/flipper_cloud) | [Ruby.social](https://ruby.social/@flipper)
# Flipper
> Beautiful, performant feature flags for Ruby and Rails.
Flipper gives you control over who has access to features in your app.
- Enable or disable features for everyone, specific actors, groups of actors, a percentage of actors, or a percentage of time.
- Configure your feature flags from the console or a web UI.
- Regardless of what data store you are using, Flipper can performantly store your feature flags.
- Use [Flipper Cloud](#flipper-cloud) to cascade features from multiple environments, share settings with your team, control permissions, keep an audit history, and rollback.
Control your software — don't let it control you.
## Installation
Add this line to your application's Gemfile:
gem 'flipper'
You'll also want to pick a storage [adapter](https://flippercloud.io/docs/adapters), for example:
gem 'flipper-active_record'
And then execute:
$ bundle
Or install it yourself with:
$ gem install flipper
## Subscribe & Ship
[ Subscribe](https://blog.flippercloud.io/#/portal/signup) - we'll send you short and sweet emails when we release new versions ([examples](https://blog.flippercloud.io/tag/releases/)).
## Getting Started
Use `Flipper#enabled?` in your app to check if a feature is enabled.
```ruby
# check if search is enabled
if Flipper.enabled?(:search, current_user)
puts 'Search away!'
else
puts 'No search for you!'
end
```
All features are disabled by default, so you'll need to explicitly enable them.
```ruby
# Enable a feature for everyone
Flipper.enable :search
# Enable a feature for a specific actor
Flipper.enable_actor :search, current_user
# Enable a feature for a group of actors
Flipper.enable_group :search, :admin
# Enable a feature for a percentage of actors
Flipper.enable_percentage_of_actors :search, 2
```
Read more about [getting started with Flipper](https://flippercloud.io/docs?utm_source=oss&utm_medium=readme&utm_campaign=getting_started) and [enabling features](https://flippercloud.io/docs/features?utm_source=oss&utm_medium=readme&utm_campaign=enabling_features).
## Flipper Cloud
Like Flipper and want more? Check out [Flipper Cloud](https://www.flippercloud.io?utm_source=oss&utm_medium=readme&utm_campaign=check_out), which comes with:
- **multiple environments** — production, staging, per continent, whatever you need. Every environment inherits from production by default and every project comes with a [project overview page](https://blog.flippercloud.io/project-overview/) that shows each feature and its status in each environment.
- **personal environments** — everyone on your team gets a personal environment (that inherits from production) which they can modify however they want without stepping on anyone else's toes.
- **permissions** — grant access to everyone in your organization or lockdown each project to particular people. You can even limit access to a particular environment (like production) to specific people.
- **audit history** — every feature change and who made it.
- **rollbacks** — enable or disable a feature accidentally? No problem. You can roll back to any point in the audit history with a single click.
- **maintenance** — we'll keep the lights on for you. We also have handy webhooks and background polling for keeping your app in sync with Cloud, so **our availability won't affect yours**. All your feature flag reads are local to your app.
- **everything in one place** — no need to bounce around from different application UIs or IRB consoles.
[](https://www.flippercloud.io?utm_source=oss&utm_medium=readme&utm_campaign=screenshot)
Cloud is super simple to integrate with Rails ([demo app](https://github.com/fewerandfaster/flipper-rails-demo)), Sinatra or any other framework.
We also have a [free plan](https://www.flippercloud.io?utm_source=oss&utm_medium=readme&utm_campaign=free_plan) that you can use forever.
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Run the tests (`bundle exec rake`). Check out [Docker-Compose](docs/DockerCompose.md) if you need help getting all the adapters running.
4. Commit your changes (`git commit -am 'Added some feature'`)
5. Push to the branch (`git push origin my-new-feature`)
6. Create new Pull Request
## Releasing
1. Update the version to be whatever it should be and commit.
2. `script/release`
3. Create a new [GitHub Release](https://github.com/flippercloud/flipper/releases/new)
## Brought To You By
| pic | @mention | area |
| ---------------------------------------------------------------------- | ---------------------------------------------- | ----------- |
|  | [@jnunemaker](https://github.com/jnunemaker) | most things |
|  | [@bkeepers](https://github.com/bkeepers) | most things |
|  | [@dpep](https://github.com/dpep) | tbd |
|  | [@alexwheeler](https://github.com/alexwheeler) | api |
|  | [@thetimbanks](https://github.com/thetimbanks) | ui |
|  | [@lazebny](https://github.com/lazebny) | docker |
|  | [@pagertree](https://github.com/pagertree) | sponsor |
|  | [@kdaigle](https://github.com/kdaigle) | sponsor |
Owner
- Name: Andrew Nesbitt
- Login: andrew
- Kind: user
- Location: Bristol, UK
- Company: @ecosyste-ms and @octobox
- Website: https://nesbitt.io
- Twitter: teabass
- Repositories: 357
- Profile: https://github.com/andrew
Working on mapping the world of open source software @ecosyste-ms and empowering developers with @octobox
GitHub Events
Total
- Push event: 1
Last Year
- Push event: 1
Committers
Last synced: 10 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| John Nunemaker | n****r@g****m | 1,865 |
| Brandon Keepers | b****n@o****g | 330 |
| Alex Wheeler | a****2@g****m | 72 |
| Alex Wheeler | aw@v****m | 20 |
| Daniel Pepper | p****l@g****m | 15 |
| Campbell Allen | c****n@g****m | 14 |
| dependabot[bot] | 4****]@u****m | 10 |
| Brett C. Dudo | b****o@c****m | 8 |
| Chris Autwell | c****l@g****m | 8 |
| Garry Shutler | g****y@r****k | 8 |
| Ivan Garanin | i****3@g****m | 7 |
| Jack Anderson | j****n@g****m | 6 |
| John Nunemaker | j****n@g****m | 6 |
| Kath | f****h@g****m | 6 |
| Rob Sanheim | r****m@g****m | 6 |
| Jonathan del Strother | j****r@g****m | 5 |
| Phil Phillips | p****l@p****m | 5 |
| Tim Banks | t****s@g****m | 5 |
| Ben Bader | b****r@i****m | 4 |
| Bradley Grzesiak | d****y@b****m | 4 |
| Daniel Alfaro | p****8@g****m | 4 |
| Jeffrey Wan | j****n@b****m | 4 |
| John Nunemaker | n****r@h****m | 4 |
| Ryan Bigg | me@r****m | 4 |
| Vadim Lazebny | v****y@g****m | 4 |
| ivorpad | i****c@g****m | 4 |
| Adam Roben | a****m@r****g | 3 |
| Benjamin Fleischer | g****b@b****m | 3 |
| Brett Dudo | b****t@d****o | 3 |
| Danilo Barion Nogueira | d****n@v****r | 3 |
| and 114 more... | ||
Committer Domains (Top 20 + Academic)
github.com: 3
chime.com: 2
joincoup.com: 2
instacart.com: 2
bendyworks.com: 2
whitepages.com: 1
piechowski.io: 1
benediktdeicke.com: 1
catawiki.nl: 1
5stops.com: 1
pco.bz: 1
fullscript.com: 1
kevinbongart.net: 1
nrm.com: 1
roshreview.com: 1
stuartmccoll.co.uk: 1
mokhan.ca: 1
siami.fr: 1
chastell.net: 1
libertymutual.com: 1
bu.edu: 1
kth.se: 1