All Things Elixir @ Surge Ventures Inc, the creators of Shedul
Switch branches/tags
Nothing to show
Clone or download
karolsluszniak Refactor RepoHelpers
- Remove the :ok part from option setters as redundant and
  external to them

- Remove the `_db_` part from function names as redundant in
  context of repo helpers module

- Add base set_opts to encourage convention driven env naming

- Refactor pool size setter with `with` to remove unneeded env
	parsing & make the procedure shorter and easier to understand

- Write proper doc for each public function instead of one for
	all of them

- Add example to one of those docs

- End docs with period

- Stop using the Patch module in tests to set application env as
	there's much easier & independent Application.put_env way

- Rename the `response` var in tests to proper `final_opts`

- Stop asserting against list - use Keyword.get instead
Latest commit 5a151c2 Jun 25, 2018

Surgex Hex version badge License badge Build status badge Code quality badge Code coverage badge

All Things Elixir @ Surge Ventures Inc, the creators of Shedul

This is the official entry point and hub for all company-wide Elixir efforts at Surge Ventures. Here's what you can expect to find in the Surgex repository.

Elixir knowledge base

Official style guide for Elixir and Phoenix projects at Surge Ventures, written in ExDoc format as a set of functions in the Surgex.Guide module (visit at HexDocs).

Surgex bundle

Surgex is a package of cross-project helper modules, each too small or too young to justify publishing them separately. It currently consists of:

  • Surgex.Changeset: tools for working with Ecto changesets
  • Surgex.Config: application config getter, aka. Application.get_env on steroids
  • Surgex.DatabaseCleaner: cleans tables in a database represented by an Ecto repo
  • Surgex.DataPipe: tools for moving data between PostgreSQL databases and tables
  • Surgex.DeviseSession: configures Ruby on Rails + Devise session in Plug
  • Surgex.Parser: parses, casts and catches errors in the web request input
  • Surgex.PhoneNumber: an Ecto.Type implementation of a E164-compilant phone numbers
  • Surgex.Refactor: tools for making code maintenance and refactors easier
  • Surgex.RPC: remote procedure call system based on Protocol Buffers
  • Surgex.Scout: extensions to the official ScoutApm package
  • Surgex.Sentry: extensions to the official Sentry package
  • Surgex.RepoHelpers: tools for dynamic setup of Ecto repo opts

Separate packages

Besides the toolbelt bundle inside the Surgex package, we also maintain separate Elixir packages that contain our bigger and more serious open source efforts. Currently, we own the following repos:

  • Jabbax - JSON API Building Blocks Assembly for Elixir