Module: RailsWayback

Defined in:
lib/rails_wayback.rb,
lib/rails_wayback/cli.rb,
lib/rails_wayback/git.rb,
lib/rails_wayback/doctor.rb,
lib/rails_wayback/engine.rb,
lib/rails_wayback/toggle.rb,
lib/rails_wayback/version.rb,
lib/rails_wayback/ref_policy.rb,
lib/rails_wayback/view_source.rb,
lib/rails_wayback/bar_renderer.rb,
lib/rails_wayback/engine_mount.rb,
lib/rails_wayback/configuration.rb,
lib/rails_wayback/bar_middleware.rb,
lib/rails_wayback/render_context.rb,
lib/rails_wayback/render_tracker.rb,
lib/rails_wayback/cache_inventory.rb,
lib/rails_wayback/asset_provenance.rb,
lib/rails_wayback/render_provenance.rb,
lib/rails_wayback/controller_extensions.rb,
lib/rails_wayback/historical_asset_body.rb,
lib/rails_wayback/historical_asset_helper.rb,
lib/rails_wayback/historical_asset_resolver.rb,
app/controllers/rails_wayback/pages_controller.rb,
app/controllers/rails_wayback/assets_controller.rb,
app/controllers/rails_wayback/application_controller.rb,
lib/generators/rails_wayback/install/install_generator.rb

Defined Under Namespace

Modules: AssetProvenance, ControllerExtensions, EngineMount, Generators, HistoricalAssetHelper, RenderContext, RenderProvenance Classes: ApplicationController, AssetsController, BarMiddleware, BarRenderer, CLI, CacheInventory, Configuration, DisabledError, Doctor, Engine, Error, Git, HistoricalAssetBody, HistoricalAssetResolver, MaterializationError, PagesController, RefNotFoundError, RefPolicy, RenderError, RenderTracker, Toggle, ViewSource

Constant Summary collapse

RENDER_EVENTS =
%w[
  render_template.action_view
  render_partial.action_view
  render_layout.action_view
  render_collection.action_view
].freeze
VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.configurationObject



40
41
42
# File 'lib/rails_wayback.rb', line 40

def configuration
  @configuration ||= Configuration.new
end

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

Yields:



35
36
37
38
# File 'lib/rails_wayback.rb', line 35

def configure
  yield configuration if block_given?
  configuration
end

.current_environmentObject



53
54
55
56
57
58
59
# File 'lib/rails_wayback.rb', line 53

def current_environment
  if defined?(Rails) && Rails.respond_to?(:env) && Rails.env
    Rails.env.to_s
  else
    ENV["RAILS_ENV"] || ENV.fetch("RACK_ENV", nil)
  end
end

.disable!Object



83
84
85
# File 'lib/rails_wayback.rb', line 83

def disable!
  toggle.disable!
end

.enable!Object



72
73
74
75
76
77
78
79
80
81
# File 'lib/rails_wayback.rb', line 72

def enable!
  unless environment_allowed?
    allowed = configuration.allowed_environments.join(", ")
    raise DisabledError,
          "environment #{current_environment.inspect} is not allowed " \
          "(allowed: #{allowed})"
  end

  toggle.enable!
end

.enabled?Boolean

Returns:

  • (Boolean)


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

def enabled?
  environment_allowed? && toggle.enabled?
end

.environment_allowed?Boolean

Returns:

  • (Boolean)


61
62
63
64
65
66
# File 'lib/rails_wayback.rb', line 61

def environment_allowed?
  environment = current_environment.to_s
  return true if environment.empty?

  configuration.allowed_environments.map(&:to_s).include?(environment)
end

.reset_configuration!Object



44
45
46
47
# File 'lib/rails_wayback.rb', line 44

def reset_configuration!
  @configuration = Configuration.new
  @toggle = nil
end

.rootObject



87
88
89
90
91
# File 'lib/rails_wayback.rb', line 87

def root
  return Rails.root if defined?(Rails) && Rails.respond_to?(:root) && Rails.root

  Pathname.new(Dir.pwd)
end

.toggleObject



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

def toggle
  @toggle ||= Toggle.new(configuration)
end