Module: RakeAudit

Defined in:
lib/rake_audit.rb,
lib/rake_audit/version.rb,
lib/rake_audit/task_patch.rb,
lib/rake_audit/rails/engine.rb,
lib/rake_audit/adapters/base.rb,
lib/rake_audit/configuration.rb,
lib/rake_audit/rails/railtie.rb,
lib/rake_audit/record_not_found.rb,
lib/rake_audit/execution_recorder.rb,
app/models/rake_audit/task_execution.rb,
lib/rake_audit/task_execution_record.rb,
lib/rake_audit/adapters/mongo_adapter.rb,
lib/rake_audit/adapters/redis_adapter.rb,
lib/rake_audit/adapters/execution_record.rb,
lib/generators/rake_audit/install_generator.rb,
lib/rake_audit/adapters/active_record_adapter.rb,
app/controllers/rake_audit/dashboard_controller.rb,
app/controllers/rake_audit/executions_controller.rb,
app/controllers/rake_audit/application_controller.rb,
lib/rake_audit/builders/task_execution_record_builder.rb

Overview

Top-level namespace and public entry point for the gem.

Typical usage:

RakeAudit.configure do |c|
  c.adapter = MyAdapter.new
end

Loading this file also installs the TaskPatch into Rake::Task when Rake is available, so task execution is recorded automatically.

Defined Under Namespace

Modules: Adapters, Builders, Generators, TaskPatch Classes: ApplicationController, Configuration, DashboardController, Engine, Error, ExecutionRecorder, ExecutionsController, Railtie, RecordNotFound, TaskExecution, TaskExecutionRecord

Constant Summary collapse

VERSION =
'0.1.0'

Class Method Summary collapse

Class Method Details

.configRakeAudit::Configuration Also known as: configuration

The current configuration, created on first access.



29
30
31
# File 'lib/rake_audit.rb', line 29

def config
  @config ||= Configuration.new
end

.configure {|config| ... } ⇒ RakeAudit::Configuration

Yield the configuration for mutation.

RakeAudit.configure { |c| c.adapter = MyAdapter.new }

Yield Parameters:

Returns:



41
42
43
44
# File 'lib/rake_audit.rb', line 41

def configure
  yield config if block_given?
  config
end

.install!Boolean

Install the execution hook into Rake::Task.

Idempotent: prepending the same module twice is a no-op in Ruby, so this is safe to call multiple times.

rubocop:disable Naming/PredicateMethod

Returns:

  • (Boolean)

    true if Rake was present and the patch is installed.



60
61
62
63
64
65
# File 'lib/rake_audit.rb', line 60

def install!
  return false unless defined?(Rake::Task)

  Rake::Task.prepend(TaskPatch)
  true
end

.reset_config!RakeAudit::Configuration

Reset configuration to defaults. Primarily useful in tests.



49
50
51
# File 'lib/rake_audit.rb', line 49

def reset_config!
  @config = Configuration.new
end