Module: Sbmt::Strangler

Defined in:
lib/sbmt/strangler.rb,
lib/sbmt/strangler/http.rb,
lib/sbmt/strangler/mixin.rb,
lib/sbmt/strangler/action.rb,
lib/sbmt/strangler/engine.rb,
lib/sbmt/strangler/errors.rb,
lib/sbmt/strangler/logger.rb,
lib/sbmt/strangler/builder.rb,
lib/sbmt/strangler/flipper.rb,
lib/sbmt/strangler/version.rb,
lib/sbmt/strangler/controller.rb,
lib/sbmt/strangler/http/client.rb,
lib/sbmt/strangler/configurable.rb,
lib/sbmt/strangler/configuration.rb,
lib/sbmt/strangler/const_definer.rb,
lib/sbmt/strangler/error_tracker.rb,
lib/sbmt/strangler/feature_flags.rb,
lib/sbmt/strangler/action_invoker.rb,
lib/sbmt/strangler/http/transport.rb,
lib/sbmt/strangler/metric_tracker.rb,
lib/sbmt/strangler/work_modes/base.rb,
lib/sbmt/strangler/work_modes/proxy.rb,
lib/sbmt/strangler/work_modes/mirror.rb,
lib/sbmt/strangler/work_modes/replace.rb

Defined Under Namespace

Modules: Configurable, Flipper, Http, Mixin, WorkModes Classes: Action, ActionInvoker, Builder, Configuration, ConfigurationError, ConstDefiner, Controller, Engine, ErrorTracker, FeatureFlags, Logger, MetricTracker

Constant Summary collapse

VERSION =
"0.9.1"

Class Method Summary collapse

Class Method Details

.action_controller_base_classObject



72
73
74
# File 'lib/sbmt/strangler.rb', line 72

def action_controller_base_class
  @action_controller_base_class ||= configuration.action_controller_base_class.constantize
end

.configurationObject

Public: Returns Sbmt::Strangler::Configuration instance.



68
69
70
# File 'lib/sbmt/strangler.rb', line 68

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Public: Configure strangler.

Sbmt::Strangler.configure do |config|
  config.controller(...) do |controller|
    controller.action(...) do {...}
  end
end

Yields Sbmt::Strangler::Configuration instance.

Yields:



63
64
65
# File 'lib/sbmt/strangler.rb', line 63

def configure
  yield configuration if block_given?
end

.error_trackerObject



76
77
78
# File 'lib/sbmt/strangler.rb', line 76

def error_tracker
  @error_tracker ||= configuration.error_tracker.constantize
end

.loggerObject



80
81
82
# File 'lib/sbmt/strangler.rb', line 80

def logger
  @logger ||= Sbmt::Strangler::Logger.new
end