├── .github └── workflows │ └── ci.yml ├── .gitignore ├── CHANGELOG.md ├── Gemfile ├── Guardfile ├── LICENSE.txt ├── README.md ├── examples ├── basic.rb ├── binary.rb ├── get_vs_new.rb └── long_running.rb ├── lib ├── resilient.rb └── resilient │ ├── circuit_breaker.rb │ ├── circuit_breaker │ ├── metrics.rb │ ├── metrics │ │ ├── bucket.rb │ │ ├── bucket_range.rb │ │ ├── bucket_size.rb │ │ ├── storage │ │ │ └── memory.rb │ │ └── window_size.rb │ ├── properties.rb │ └── registry.rb │ ├── instrumenters │ ├── memory.rb │ └── noop.rb │ ├── key.rb │ ├── test │ ├── circuit_breaker_interface.rb │ ├── circuit_breaker_registry_interface.rb │ ├── metrics_interface.rb │ ├── metrics_storage_interface.rb │ └── properties_interface.rb │ └── version.rb ├── resilient.gemspec ├── script ├── bootstrap ├── console ├── release ├── test └── watch └── test ├── resilient ├── circuit_breaker │ ├── metrics │ │ └── storage │ │ │ └── memory_test.rb │ ├── metrics_test.rb │ ├── properties_test.rb │ └── registry_test.rb ├── circuit_breaker_instrumentation_test.rb ├── circuit_breaker_integration_test.rb ├── circuit_breaker_test.rb ├── instrumenters │ ├── memory_test.rb │ └── noop_test.rb └── key_test.rb ├── resilient_test.rb └── test_helper.rb /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/Gemfile -------------------------------------------------------------------------------- /Guardfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/Guardfile -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/README.md -------------------------------------------------------------------------------- /examples/basic.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/examples/basic.rb -------------------------------------------------------------------------------- /examples/binary.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/examples/binary.rb -------------------------------------------------------------------------------- /examples/get_vs_new.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/examples/get_vs_new.rb -------------------------------------------------------------------------------- /examples/long_running.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/examples/long_running.rb -------------------------------------------------------------------------------- /lib/resilient.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient.rb -------------------------------------------------------------------------------- /lib/resilient/circuit_breaker.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/circuit_breaker.rb -------------------------------------------------------------------------------- /lib/resilient/circuit_breaker/metrics.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/circuit_breaker/metrics.rb -------------------------------------------------------------------------------- /lib/resilient/circuit_breaker/metrics/bucket.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/circuit_breaker/metrics/bucket.rb -------------------------------------------------------------------------------- /lib/resilient/circuit_breaker/metrics/bucket_range.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/circuit_breaker/metrics/bucket_range.rb -------------------------------------------------------------------------------- /lib/resilient/circuit_breaker/metrics/bucket_size.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/circuit_breaker/metrics/bucket_size.rb -------------------------------------------------------------------------------- /lib/resilient/circuit_breaker/metrics/storage/memory.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/circuit_breaker/metrics/storage/memory.rb -------------------------------------------------------------------------------- /lib/resilient/circuit_breaker/metrics/window_size.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/circuit_breaker/metrics/window_size.rb -------------------------------------------------------------------------------- /lib/resilient/circuit_breaker/properties.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/circuit_breaker/properties.rb -------------------------------------------------------------------------------- /lib/resilient/circuit_breaker/registry.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/circuit_breaker/registry.rb -------------------------------------------------------------------------------- /lib/resilient/instrumenters/memory.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/instrumenters/memory.rb -------------------------------------------------------------------------------- /lib/resilient/instrumenters/noop.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/instrumenters/noop.rb -------------------------------------------------------------------------------- /lib/resilient/key.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/key.rb -------------------------------------------------------------------------------- /lib/resilient/test/circuit_breaker_interface.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/test/circuit_breaker_interface.rb -------------------------------------------------------------------------------- /lib/resilient/test/circuit_breaker_registry_interface.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/test/circuit_breaker_registry_interface.rb -------------------------------------------------------------------------------- /lib/resilient/test/metrics_interface.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/test/metrics_interface.rb -------------------------------------------------------------------------------- /lib/resilient/test/metrics_storage_interface.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/test/metrics_storage_interface.rb -------------------------------------------------------------------------------- /lib/resilient/test/properties_interface.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/lib/resilient/test/properties_interface.rb -------------------------------------------------------------------------------- /lib/resilient/version.rb: -------------------------------------------------------------------------------- 1 | module Resilient 2 | VERSION = "0.5.1" 3 | end 4 | -------------------------------------------------------------------------------- /resilient.gemspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/resilient.gemspec -------------------------------------------------------------------------------- /script/bootstrap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/script/bootstrap -------------------------------------------------------------------------------- /script/console: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/script/console -------------------------------------------------------------------------------- /script/release: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/script/release -------------------------------------------------------------------------------- /script/test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/script/test -------------------------------------------------------------------------------- /script/watch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/script/watch -------------------------------------------------------------------------------- /test/resilient/circuit_breaker/metrics/storage/memory_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/test/resilient/circuit_breaker/metrics/storage/memory_test.rb -------------------------------------------------------------------------------- /test/resilient/circuit_breaker/metrics_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/test/resilient/circuit_breaker/metrics_test.rb -------------------------------------------------------------------------------- /test/resilient/circuit_breaker/properties_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/test/resilient/circuit_breaker/properties_test.rb -------------------------------------------------------------------------------- /test/resilient/circuit_breaker/registry_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/test/resilient/circuit_breaker/registry_test.rb -------------------------------------------------------------------------------- /test/resilient/circuit_breaker_instrumentation_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/test/resilient/circuit_breaker_instrumentation_test.rb -------------------------------------------------------------------------------- /test/resilient/circuit_breaker_integration_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/test/resilient/circuit_breaker_integration_test.rb -------------------------------------------------------------------------------- /test/resilient/circuit_breaker_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/test/resilient/circuit_breaker_test.rb -------------------------------------------------------------------------------- /test/resilient/instrumenters/memory_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/test/resilient/instrumenters/memory_test.rb -------------------------------------------------------------------------------- /test/resilient/instrumenters/noop_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/test/resilient/instrumenters/noop_test.rb -------------------------------------------------------------------------------- /test/resilient/key_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/test/resilient/key_test.rb -------------------------------------------------------------------------------- /test/resilient_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/test/resilient_test.rb -------------------------------------------------------------------------------- /test/test_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jnunemaker/resilient/HEAD/test/test_helper.rb --------------------------------------------------------------------------------