* Wrap user/identity coupled logic in a transaction Creating a user and then setting an identiy should occur as an all-or-nothing step. Wrapping this in an ActiveRecord::Transaction ensures that we don't update an identity unless we succesfully create/update the user first in the same database transaction. * Allow errors from authenticator service to bubble up * Address some issues with logic in ActiveRecord::Base.transaction * Pull out calls to DataDog from transaction. * Add additional DataDog call in case something goes wrong in the transaction. * Rename some methods, add some specs. * Re-raise errors after notifying DataDog * Add error message to DataDog tags in Authenticator |
||
|---|---|---|
| .github | ||
| .vscode | ||
| .yarn/releases | ||
| app | ||
| bin | ||
| config | ||
| datadog | ||
| db | ||
| docs | ||
| lib | ||
| log | ||
| public | ||
| scripts | ||
| spec | ||
| vendor/assets | ||
| .codeclimate.yml | ||
| .dockerignore | ||
| .editorconfig | ||
| .erb-lint.yml | ||
| .eslintignore | ||
| .eslintrc.js | ||
| .gitattributes | ||
| .gitdocs.js | ||
| .gitignore | ||
| .gitpod.dockerfile | ||
| .gitpod.yml | ||
| .nvmrc | ||
| .postcssrc.yml | ||
| .prettierignore | ||
| .rspec | ||
| .rubocop.yml | ||
| .rubocop_todo.yml | ||
| .ruby-version | ||
| .simplecov | ||
| .slugignore | ||
| .travis.yml | ||
| .validaterc | ||
| .yardopts | ||
| .yarnrc | ||
| babel.config.js | ||
| CODE_OF_CONDUCT.md | ||
| config.ru | ||
| CONTRIBUTING.md | ||
| docker-compose.yml | ||
| docker-entrypoint.sh | ||
| docker-run.sh | ||
| Dockerfile | ||
| dockerhub-readme.md | ||
| empty-module.js | ||
| Envfile | ||
| Gemfile | ||
| Gemfile.lock | ||
| Guardfile | ||
| jest.config.js | ||
| jsconfig.json | ||
| LICENSE.md | ||
| netlify.toml | ||
| package.json | ||
| Procfile | ||
| Procfile.dev | ||
| Procfile.dev-hot | ||
| Rakefile | ||
| README.md | ||
| release-tasks.sh | ||
| yarn.lock | ||
DEV Community 👩💻👨💻
The Human Layer of the StackWelcome to the dev.to codebase. We are so excited to have you. With your help, we can build out DEV to be more stable and better serve our community.
What is dev.to?
dev.to (or just DEV) is a platform where software developers write articles, take part in discussions, and build their professional profiles. We value supportive and constructive dialogue in the pursuit of great code and career growth for all members. The ecosystem spans from beginner to advanced developers, and all are welcome to find their place within our community. ❤️
Table of Contents
- What is dev.to?
- Table of Contents
- Contributing
- Getting Started
- Developer Documentation
- Core team
- Vulnerability disclosure
- License
Contributing
We encourage you to contribute to dev.to! Please check out the Contributing to dev.to guide for guidelines about how to proceed.
Getting Started
This section provides a high-level quick start guide. If you're looking for the installation guide, you'll want to refer to our complete Developer Documentation.
We run on a Rails backend, and we are currently transitioning to a Preact-first frontend.
A more complete overview of our stack is available in our docs.
Prerequisites
- Ruby: we recommend using rbenv to install the Ruby version listed on the badge.
- Yarn 1.x: please refer to their installation guide.
- PostgreSQL 9.5 or higher.
- ImageMagick: please refer to ImageMagick's installation instructions.
- Redis 4 or higher.
- Elasticsearch 7 or higher.
Installation Documentation
View Full Installation Documentation.
Developer Documentation
Check out our dedicated docs page for more technical documentation.
Core team
- @benhalpern
- @jessleenyc
- @peterkimfrank
- @maestromac
- @zhao-andy
- @lightalloy
- @rhymes
- @jacobherrington
- @mstruve
- @atsmith813
- @citizen428
- @nickytonline
- @joshpuetz
- @vaidehijoshi
- @juliannatetreault
- @ridhwana
- @fdoxyz
- @msarit
Vulnerability disclosure
We welcome security research on DEV under the terms of our vulnerability disclosure policy.
License
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Please see the LICENSE file in our repository for the full text.
Like many open source projects, we require that contributors provide us with a Contributor License Agreement (CLA). By submitting code to the DEV project, you are granting us a right to use that code under the terms of the CLA.
Our version of the CLA was adapted from the Microsoft Contributor License Agreement, which they generously made available to the public domain under Creative Commons CC0 1.0 Universal.
Any questions, please refer to our license FAQ doc or email yo@dev.to.
Happy Coding ❤️