class Gitlab::Experiment::Engine
Private Instance Methods
include_dsl()
click to toggle source
# File lib/gitlab/experiment/engine.rb, line 22 def include_dsl Dsl.include_in(ActionController::Base, with_helper: true) if defined?(ActionController) Dsl.include_in(ActionMailer::Base, with_helper: true) if defined?(ActionMailer) end
mount_engine(app, mount_at)
click to toggle source
# File lib/gitlab/experiment/engine.rb, line 27 def mount_engine(app, mount_at) return if mount_at.blank? engine = routes do default_url_options app.routes.default_url_options.clone.without(:script_name) resources :experiments, path: '/', only: :show end app.config.middleware.use(Middleware, mount_at) app.routes.append do mount Engine, at: mount_at, as: :experiment_engine direct(:experiment_redirect) do |ex, options| url = options[:url] "#{engine.url_helpers.experiment_url(ex)}?#{url}" end end end